Mercurial > vim
view src/gui_dwrite.h @ 12934:2ebc3df65ca2 v8.0.1343
patch 8.0.1343: MS-Windows: does not show colored emojis
commit https://github.com/vim/vim/commit/d7ccc4d81dbcfa3ac0352bacea6e294fc9e33fda
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Nov 26 14:29:32 2017 +0100
patch 8.0.1343: MS-Windows: does not show colored emojis
Problem: MS-Windows: does not show colored emojis.
Solution: Implement colored emojis. Improve drawing speed. Make 'taamode'
work. (Taro Muraoka, Yasuhiro Matsumoto, Ken Takata, close #2375)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 26 Nov 2017 14:30:04 +0100 |
parents | 1bff71d20262 |
children | 18e6f4addce9 |
line wrap: on
line source
/* vi:set ts=8 sts=4 sw=4 noet: */ /* * Author: MURAOKA Taro <koron.kaoriya@gmail.com> * * Contributors: * - Ken Takata * - Yasuhiro Matsumoto * * 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_BindDC(DWriteContext *ctx, HDC hdc, RECT *rect); void DWriteContext_SetFont(DWriteContext *ctx, HFONT hFont); void DWriteContext_DrawText( DWriteContext *ctx, const WCHAR* text, int len, int x, int y, int w, int h, int cellWidth, COLORREF color, UINT fuOptions, CONST RECT *lprc, CONST INT * lpDx); void DWriteContext_FillRect(DWriteContext *ctx, RECT *rc, COLORREF color); void DWriteContext_Flush(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*/