mirror of
https://github.com/vim/vim.git
synced 2025-09-30 04:44:14 -04:00
updated for version 7.4.393
Problem: Text drawing on newer MS-Windows systems is suboptimal. Some multi-byte characters are not displayed, even though the same font in Notepad can display them. (Srinath Avadhanula) Solution: Add the 'renderoptions' option to enable Direct-X drawing. (Taro Muraoka)
This commit is contained in:
85
src/gui_dwrite.h
Normal file
85
src/gui_dwrite.h
Normal file
@@ -0,0 +1,85 @@
|
||||
/* vi:set ts=8 sts=4 sw=4 noet: */
|
||||
/*
|
||||
* Author: MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
*
|
||||
* Contributors:
|
||||
* - Ken Takata
|
||||
*
|
||||
* Copyright (C) 2013 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
* THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
|
||||
*/
|
||||
|
||||
#ifndef GUI_DWRITE_H
|
||||
#define GUI_DWRITE_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct DWriteContext DWriteContext;
|
||||
|
||||
typedef struct DWriteRenderingParams {
|
||||
float gamma;
|
||||
float enhancedContrast;
|
||||
float clearTypeLevel;
|
||||
/*
|
||||
* pixelGeometry:
|
||||
* 0 - DWRITE_PIXEL_GEOMETRY_FLAT
|
||||
* 1 - DWRITE_PIXEL_GEOMETRY_RGB
|
||||
* 2 - DWRITE_PIXEL_GEOMETRY_BGR
|
||||
*/
|
||||
int pixelGeometry;
|
||||
/*
|
||||
* renderingMode:
|
||||
* 0 - DWRITE_RENDERING_MODE_DEFAULT
|
||||
* 1 - DWRITE_RENDERING_MODE_ALIASED
|
||||
* 2 - DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC
|
||||
* 3 - DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL
|
||||
* 4 - DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL
|
||||
* 5 - DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC
|
||||
* 6 - DWRITE_RENDERING_MODE_OUTLINE
|
||||
*/
|
||||
int renderingMode;
|
||||
/*
|
||||
* antialiasMode:
|
||||
* 0 - D2D1_TEXT_ANTIALIAS_MODE_DEFAULT
|
||||
* 1 - D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE
|
||||
* 2 - D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE
|
||||
* 3 - D2D1_TEXT_ANTIALIAS_MODE_ALIASED
|
||||
*/
|
||||
int textAntialiasMode;
|
||||
} DWriteRenderingParams;
|
||||
|
||||
void DWrite_Init(void);
|
||||
void DWrite_Final(void);
|
||||
|
||||
DWriteContext *DWriteContext_Open(void);
|
||||
void DWriteContext_BeginDraw(DWriteContext *ctx);
|
||||
void DWriteContext_BindDC(DWriteContext *ctx, HDC hdc, RECT *rect);
|
||||
void DWriteContext_SetFont(DWriteContext *ctx, HFONT hFont);
|
||||
void DWriteContext_DrawText(
|
||||
DWriteContext *ctx,
|
||||
HDC hdc,
|
||||
const WCHAR* text,
|
||||
int len,
|
||||
int x,
|
||||
int y,
|
||||
int w,
|
||||
int h,
|
||||
int cellWidth,
|
||||
COLORREF color);
|
||||
void DWriteContext_EndDraw(DWriteContext *ctx);
|
||||
void DWriteContext_Close(DWriteContext *ctx);
|
||||
|
||||
void DWriteContext_SetRenderingParams(
|
||||
DWriteContext *ctx,
|
||||
const DWriteRenderingParams *params);
|
||||
|
||||
DWriteRenderingParams *DWriteContext_GetRenderingParams(
|
||||
DWriteContext *ctx,
|
||||
DWriteRenderingParams *params);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif/*GUI_DWRITE_H*/
|
Reference in New Issue
Block a user