Created
January 10, 2013 13:49
-
-
Save k-takata/4502153 to your computer and use it in GitHub Desktop.
patch for vim-kaoriya-vim-mq-ex / patch-direct_write.diff
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# HG changeset patch | |
# Parent 17715aa3c90e26f6493f58825f68378dea1e1b9a | |
diff --git a/src/Make_cyg.mak b/src/Make_cyg.mak | |
--- a/src/Make_cyg.mak | |
+++ b/src/Make_cyg.mak | |
@@ -116,6 +116,7 @@ | |
#>>>>> name of the compiler and linker, name of lib directory | |
CROSS_COMPILE = | |
CC = gcc | |
+CXX = g++ | |
RC = windres | |
############################## | |
@@ -448,8 +449,8 @@ | |
EXE = gvim$(DEBUG_SUFFIX).exe | |
OUTDIR = gobj$(DEBUG_SUFFIX) | |
DEFINES += -DFEAT_GUI_W32 -DFEAT_CLIPBOARD | |
-EXTRA_OBJS += $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o | |
-EXTRA_LIBS += -mwindows -lcomctl32 -lversion | |
+EXTRA_OBJS += $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o $(OUTDIR)/gui_dwrite.o | |
+EXTRA_LIBS += -mwindows -lcomctl32 -lversion -ld2d1 -ldwrite -static-libgcc -static | |
else | |
EXE = vim$(DEBUG_SUFFIX).exe | |
OUTDIR = obj$(DEBUG_SUFFIX) | |
@@ -541,7 +542,7 @@ | |
# linking unless calling ld directly. | |
# See /usr/doc/cygwin-doc-1.2/html/faq_toc.html#TOC93 for more information. | |
$(EXE): $(OUTDIR) $(OBJ) | |
- $(CC) $(CFLAGS) -o $(EXE) $(OBJ) $(LIBS) -luuid -lole32 $(EXTRA_LIBS) | |
+ $(CXX) $(CFLAGS) -o $(EXE) $(OBJ) $(LIBS) -luuid -lole32 $(EXTRA_LIBS) | |
xxd/xxd.exe: xxd/xxd.c | |
$(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) USEDLL=$(USEDLL) | |
@@ -594,6 +595,9 @@ | |
$(OUTDIR)/%.o : %.c $(INCL) | |
$(CC) -c $(CFLAGS) $< -o $@ | |
+$(OUTDIR)/gui_dwrite.o: gui_dwrite.cpp $(INCL) gui_dwrite.h | |
+ $(CXX) -c $(CFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o | |
+ | |
$(OUTDIR)/ex_docmd.o: ex_docmd.c $(INCL) ex_cmds.h | |
$(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o | |
diff --git a/src/Make_ming.mak b/src/Make_ming.mak | |
--- a/src/Make_ming.mak | |
+++ b/src/Make_ming.mak | |
@@ -340,6 +340,7 @@ | |
endif | |
endif | |
CC := $(CROSS_COMPILE)gcc | |
+CXX := $(CROSS_COMPILE)g++ | |
WINDRES := $(CROSS_COMPILE)windres | |
WINDRES_CC = $(CC) | |
@@ -485,8 +486,8 @@ | |
CFLAGS += -s | |
endif | |
-LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lversion | |
-GUIOBJ = $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o | |
+LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lversion -ld2d1 -ldwrite | |
+GUIOBJ = $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o $(OUTDIR)/gui_dwrite.o | |
OBJ = \ | |
$(OUTDIR)/blowfish.o \ | |
$(OUTDIR)/buffer.o \ | |
@@ -594,7 +595,7 @@ | |
TARGET := gvim$(DEBUG_SUFFIX).exe | |
DEFINES += $(DEF_GUI) | |
OBJ += $(GUIOBJ) | |
-LFLAGS += -mwindows | |
+LFLAGS += -mwindows -static-libgcc -static | |
OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH) | |
else | |
TARGET := vim$(DEBUG_SUFFIX).exe | |
@@ -673,7 +674,7 @@ | |
$(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIB) | |
$(TARGET): $(OUTDIR) $(OBJ) | |
- $(CC) $(CFLAGS) $(LFLAGS) -o $@ $(OBJ) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB) | |
+ $(CXX) $(CFLAGS) $(LFLAGS) -o $@ $(OBJ) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB) | |
upx: exes | |
upx gvim.exe | |
@@ -725,6 +726,9 @@ | |
$(OUTDIR): | |
$(MKDIR) $(OUTDIR) | |
+$(OUTDIR)/gui_dwrite.o: gui_dwrite.cpp $(INCL) gui_dwrite.h | |
+ $(CXX) -c $(CFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o | |
+ | |
$(OUTDIR)/ex_docmd.o: ex_docmd.c $(INCL) ex_cmds.h | |
$(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o | |
diff --git a/src/gui_dwrite.cpp b/src/gui_dwrite.cpp | |
--- a/src/gui_dwrite.cpp | |
+++ b/src/gui_dwrite.cpp | |
@@ -1,4 +1,10 @@ | |
+/* vi:set ts=8 sts=4 sw=4: */ | |
+ | |
#define WIN32_LEAN_AND_MEAN | |
+#undef WINVER | |
+#define WINVER 0x0600 | |
+#undef _WIN32_WINNT | |
+#define _WIN32_WINNT 0x0600 | |
#include <windows.h> | |
#include <crtdbg.h> | |
@@ -8,6 +14,12 @@ | |
#include "gui_dwrite.h" | |
+#ifdef __MINGW32__ | |
+#define __maybenull SAL__maybenull | |
+#define __in SAL__in | |
+#define __out SAL__out | |
+#endif | |
+ | |
template <class T> inline void SafeRelease(T **ppT) | |
{ | |
if (*ppT) | |
@@ -34,9 +46,10 @@ | |
{ | |
pRenderTarget_->AddRef(); | |
pRenderingParams_->AddRef(); | |
+ AddRef(); | |
} | |
- GdiTextRenderer::~GdiTextRenderer() | |
+ ~GdiTextRenderer() | |
{ | |
SafeRelease(&pRenderTarget_); | |
SafeRelease(&pRenderingParams_); | |
@@ -423,11 +436,11 @@ | |
HRESULT hr = SetLOGFONT(logFont, 0.f); | |
if (SUCCEEDED(hr)) | |
- hr = mTextFormat->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_CENTER); | |
+ hr = mTextFormat->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_LEADING); | |
if (SUCCEEDED(hr)) | |
hr = mTextFormat->SetParagraphAlignment( | |
- DWRITE_PARAGRAPH_ALIGNMENT_CENTER); | |
+ DWRITE_PARAGRAPH_ALIGNMENT_NEAR); | |
} | |
void | |
diff --git a/src/gui_dwrite.h b/src/gui_dwrite.h | |
--- a/src/gui_dwrite.h | |
+++ b/src/gui_dwrite.h | |
@@ -1,3 +1,5 @@ | |
+/* vi:set ts=8 sts=4 sw=4: */ | |
+ | |
#ifndef GUI_DWRITE_H | |
#define GUI_DWRITE_H | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment