Skip to content
Permalink
Browse files

Add support for Color Emoji (WIP)

Add support for Color Emoji (WIP)
  • Loading branch information
sdottaka committed Nov 24, 2019
1 parent ce7ceb2 commit 2dd3f9d831e274d68a0f688b41d67afb092e2095
Showing with 1,357 additions and 260 deletions.
  1. +5 −0 Externals/crystaledit/Sample/SampleStatic.vs2017.vcxproj
  2. +15 −0 Externals/crystaledit/Sample/SampleStatic.vs2017.vcxproj.filters
  3. +5 −0 Externals/crystaledit/Sample/SampleStatic.vs2019.vcxproj
  4. +15 −0 Externals/crystaledit/Sample/SampleStatic.vs2019.vcxproj.filters
  5. +46 −0 Externals/crystaledit/editlib/ccrystalrenderer.h
  6. +616 −0 Externals/crystaledit/editlib/ccrystalrendererdirectwrite.cpp
  7. +69 −0 Externals/crystaledit/editlib/ccrystalrendererdirectwrite.h
  8. +192 −0 Externals/crystaledit/editlib/ccrystalrenderergdi.cpp
  9. +50 −0 Externals/crystaledit/editlib/ccrystalrenderergdi.h
  10. +134 −235 Externals/crystaledit/editlib/ccrystaltextview.cpp
  11. +35 −15 Externals/crystaledit/editlib/ccrystaltextview.h
  12. +2 −2 Src/GhostTextView.cpp
  13. +1 −1 Src/GhostTextView.h
  14. +3 −0 Src/MainFrm.cpp
  15. +2 −0 Src/Merge.cpp
  16. +2 −0 Src/Merge.rc
  17. +11 −4 Src/Merge.vs2017.vcxproj
  18. +6 −0 Src/Merge.vs2017.vcxproj.filters
  19. +12 −0 Src/Merge.vs2019.vcxproj
  20. +6 −0 Src/Merge.vs2019.vcxproj.filters
  21. +1 −0 Src/Merge2.rc
  22. +3 −0 Src/MergeEditView.cpp
  23. +1 −0 Src/OptionsDef.h
  24. +1 −0 Src/OptionsInit.cpp
  25. +14 −2 Src/PropEditor.cpp
  26. +2 −1 Src/PropEditor.h
  27. BIN Src/res/mg_icons.png
  28. +2 −0 Src/resource.h
  29. +3 −0 Translations/WinMerge/Basque.po
  30. +3 −0 Translations/WinMerge/Brazilian.po
  31. +3 −0 Translations/WinMerge/Bulgarian.po
  32. +3 −0 Translations/WinMerge/Catalan.po
  33. +3 −0 Translations/WinMerge/ChineseSimplified.po
  34. +3 −0 Translations/WinMerge/ChineseTraditional.po
  35. +3 −0 Translations/WinMerge/Croatian.po
  36. +3 −0 Translations/WinMerge/Czech.po
  37. +3 −0 Translations/WinMerge/Danish.po
  38. +3 −0 Translations/WinMerge/Dutch.po
  39. +3 −0 Translations/WinMerge/English.pot
  40. +3 −0 Translations/WinMerge/Finnish.po
  41. +3 −0 Translations/WinMerge/French.po
  42. +3 −0 Translations/WinMerge/Galician.po
  43. +3 −0 Translations/WinMerge/German.po
  44. +3 −0 Translations/WinMerge/Greek.po
  45. +3 −0 Translations/WinMerge/Hungarian.po
  46. +3 −0 Translations/WinMerge/Italian.po
  47. +3 −0 Translations/WinMerge/Japanese.po
  48. +3 −0 Translations/WinMerge/Korean.po
  49. +3 −0 Translations/WinMerge/Lithuanian.po
  50. +3 −0 Translations/WinMerge/Norwegian.po
  51. +3 −0 Translations/WinMerge/Persian.po
  52. +4 −0 Translations/WinMerge/Polish.po
  53. +3 −0 Translations/WinMerge/Portuguese.po
  54. +3 −0 Translations/WinMerge/Romanian.po
  55. +3 −0 Translations/WinMerge/Russian.po
  56. +3 −0 Translations/WinMerge/Serbian.po
  57. +3 −0 Translations/WinMerge/Sinhala.po
  58. +3 −0 Translations/WinMerge/Slovak.po
  59. +3 −0 Translations/WinMerge/Slovenian.po
  60. +3 −0 Translations/WinMerge/Spanish.po
  61. +3 −0 Translations/WinMerge/Swedish.po
  62. +3 −0 Translations/WinMerge/Turkish.po
  63. +3 −0 Translations/WinMerge/Ukrainian.po
@@ -471,6 +471,8 @@
<ClCompile Include="..\editlib\basic.cpp" />
<ClCompile Include="..\editlib\batch.cpp" />
<ClCompile Include="..\editlib\ccrystaleditview.cpp" />
<ClCompile Include="..\editlib\ccrystalrendererdirectdraw.cpp" />
<ClCompile Include="..\editlib\ccrystalrenderergdi.cpp" />
<ClCompile Include="..\editlib\ccrystaltextbuffer.cpp" />
<ClCompile Include="..\editlib\ccrystaltextmarkers.cpp" />
<ClCompile Include="..\editlib\ccrystaltextview.cpp" />
@@ -571,6 +573,9 @@
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\editlib\ccrystaleditview.h" />
<ClInclude Include="..\editlib\ccrystalrenderer.h" />
<ClInclude Include="..\editlib\ccrystalrendererdirectdraw.h" />
<ClInclude Include="..\editlib\ccrystalrenderergdi.h" />
<ClInclude Include="..\editlib\ccrystaltextbuffer.h" />
<ClInclude Include="..\editlib\ccrystaltextmarkers.h" />
<ClInclude Include="..\editlib\ccrystaltextview.h" />
@@ -237,6 +237,12 @@
<ClCompile Include="..\editlib\icu.cpp">
<Filter>editlib</Filter>
</ClCompile>
<ClCompile Include="..\editlib\ccrystalrendererdirectdraw.cpp">
<Filter>editlib</Filter>
</ClCompile>
<ClCompile Include="..\editlib\ccrystalrenderergdi.cpp">
<Filter>editlib</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Sample.rc">
@@ -361,6 +367,15 @@
<ClInclude Include="..\editlib\icu.hpp">
<Filter>editlib</Filter>
</ClInclude>
<ClInclude Include="..\editlib\ccrystalrenderer.h">
<Filter>editlib</Filter>
</ClInclude>
<ClInclude Include="..\editlib\ccrystalrendererdirectdraw.h">
<Filter>editlib</Filter>
</ClInclude>
<ClInclude Include="..\editlib\ccrystalrenderergdi.h">
<Filter>editlib</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Image Include="res\mg_icons.bmp">
@@ -471,6 +471,8 @@
<ClCompile Include="..\editlib\basic.cpp" />
<ClCompile Include="..\editlib\batch.cpp" />
<ClCompile Include="..\editlib\ccrystaleditview.cpp" />
<ClCompile Include="..\editlib\ccrystalrendererdirectdraw.cpp" />
<ClCompile Include="..\editlib\ccrystalrenderergdi.cpp" />
<ClCompile Include="..\editlib\ccrystaltextbuffer.cpp" />
<ClCompile Include="..\editlib\ccrystaltextmarkers.cpp" />
<ClCompile Include="..\editlib\ccrystaltextview.cpp" />
@@ -571,6 +573,9 @@
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\editlib\ccrystaleditview.h" />
<ClInclude Include="..\editlib\ccrystalrenderer.h" />
<ClInclude Include="..\editlib\ccrystalrendererdirectdraw.h" />
<ClInclude Include="..\editlib\ccrystalrenderergdi.h" />
<ClInclude Include="..\editlib\ccrystaltextbuffer.h" />
<ClInclude Include="..\editlib\ccrystaltextmarkers.h" />
<ClInclude Include="..\editlib\ccrystaltextview.h" />
@@ -237,6 +237,12 @@
<ClCompile Include="..\editlib\icu.cpp">
<Filter>editlib</Filter>
</ClCompile>
<ClCompile Include="..\editlib\ccrystalrendererdirectdraw.cpp">
<Filter>editlib</Filter>
</ClCompile>
<ClCompile Include="..\editlib\ccrystalrenderergdi.cpp">
<Filter>editlib</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Sample.rc">
@@ -361,6 +367,15 @@
<ClInclude Include="..\editlib\icu.hpp">
<Filter>editlib</Filter>
</ClInclude>
<ClInclude Include="..\editlib\ccrystalrenderer.h">
<Filter>editlib</Filter>
</ClInclude>
<ClInclude Include="..\editlib\ccrystalrendererdirectdraw.h">
<Filter>editlib</Filter>
</ClInclude>
<ClInclude Include="..\editlib\ccrystalrenderergdi.h">
<Filter>editlib</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Image Include="res\mg_icons.bmp">
@@ -0,0 +1,46 @@
/**
* @file ccrystalrenderer.h
*
* @brief Declaration file for CCrystalRenderer
*/

#pragma once

////////////////////////////////////////////////////////////////////////////
// Forward class declarations


////////////////////////////////////////////////////////////////////////////
// CCrystalRenderer class declaration


struct CCrystalRenderer
{
/** @brief Width of icons printed in the margin. */
static const UINT MARGIN_ICON_WIDTH = 12;
/** @brief Height of icons printed in the margin. */
static const UINT MARGIN_ICON_HEIGHT = 12;

virtual ~CCrystalRenderer() {};

virtual void BindDC(const CDC& dc, const CRect& rc) = 0;
virtual void BeginDraw() = 0;
virtual bool EndDraw() = 0;
virtual void SetFont(const LOGFONT &lf) = 0;
virtual void SwitchFont(bool italic, bool bold) = 0;
virtual CSize GetCharWidthHeight() = 0;
virtual bool GetCharWidth(unsigned start, unsigned end, int *nWidthArray) = 0;
virtual void SetTextColor(COLORREF clr) = 0;
virtual void SetBkColor(COLORREF clr) = 0;
virtual void DrawText(int x, int y, const CRect &rc, const TCHAR *text, size_t len, const int nWidths[]) = 0;
virtual void FillRectangle(const CRect &rc) = 0;
virtual void FillSolidRectangle(const CRect &rc, COLORREF color) = 0;
virtual void DrawRoundRectangle(int left, int top , int right, int bottom, int width, int height) = 0;
virtual void PushAxisAlignedClip(const CRect &rc) = 0;
virtual void PopAxisAlignedClip() = 0;
virtual void DrawMarginIcon(int x, int y, int iconIndex) = 0;
virtual void DrawMarginLineNumber(int x, int y, int number) = 0;
virtual void DrawBoundaryLine(int left, int right, int y) = 0;
virtual void DrawLineCursor(int left, int right, int y, int height) = 0;
};

0 comments on commit 2dd3f9d

Please sign in to comment.
You can’t perform that action at this time.