Revert "Get rid of unused wxTransformMatrix"
wxTransformMatrix is undocumented but it is appartently
in use so it has to be present in the library.
This reverts commit 3e88df56f5
.
This commit is contained in:
parent
3e88df56f5
commit
365c3a2ae9
21
Makefile.in
21
Makefile.in
@ -3879,6 +3879,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \
|
||||
wx/listbase.h \
|
||||
wx/listbook.h \
|
||||
wx/listctrl.h \
|
||||
wx/matrix.h \
|
||||
wx/menuitem.h \
|
||||
wx/metafile.h \
|
||||
wx/minifram.h \
|
||||
@ -4515,6 +4516,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS = \
|
||||
monodll_lboxcmn.o \
|
||||
monodll_listctrlcmn.o \
|
||||
monodll_markupparser.o \
|
||||
monodll_matrix.o \
|
||||
monodll_menucmn.o \
|
||||
monodll_modalhook.o \
|
||||
monodll_mousemanager.o \
|
||||
@ -4775,6 +4777,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS = \
|
||||
monodll_lboxcmn.o \
|
||||
monodll_listctrlcmn.o \
|
||||
monodll_markupparser.o \
|
||||
monodll_matrix.o \
|
||||
monodll_menucmn.o \
|
||||
monodll_modalhook.o \
|
||||
monodll_mousemanager.o \
|
||||
@ -6500,6 +6503,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_1 = \
|
||||
monolib_lboxcmn.o \
|
||||
monolib_listctrlcmn.o \
|
||||
monolib_markupparser.o \
|
||||
monolib_matrix.o \
|
||||
monolib_menucmn.o \
|
||||
monolib_modalhook.o \
|
||||
monolib_mousemanager.o \
|
||||
@ -6760,6 +6764,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_1 = \
|
||||
monolib_lboxcmn.o \
|
||||
monolib_listctrlcmn.o \
|
||||
monolib_markupparser.o \
|
||||
monolib_matrix.o \
|
||||
monolib_menucmn.o \
|
||||
monolib_modalhook.o \
|
||||
monolib_mousemanager.o \
|
||||
@ -8631,6 +8636,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_2 = \
|
||||
coredll_lboxcmn.o \
|
||||
coredll_listctrlcmn.o \
|
||||
coredll_markupparser.o \
|
||||
coredll_matrix.o \
|
||||
coredll_menucmn.o \
|
||||
coredll_modalhook.o \
|
||||
coredll_mousemanager.o \
|
||||
@ -8891,6 +8897,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_2 = \
|
||||
coredll_lboxcmn.o \
|
||||
coredll_listctrlcmn.o \
|
||||
coredll_markupparser.o \
|
||||
coredll_matrix.o \
|
||||
coredll_menucmn.o \
|
||||
coredll_modalhook.o \
|
||||
coredll_mousemanager.o \
|
||||
@ -10352,6 +10359,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_3 = \
|
||||
corelib_lboxcmn.o \
|
||||
corelib_listctrlcmn.o \
|
||||
corelib_markupparser.o \
|
||||
corelib_matrix.o \
|
||||
corelib_menucmn.o \
|
||||
corelib_modalhook.o \
|
||||
corelib_mousemanager.o \
|
||||
@ -10612,6 +10620,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_3 = \
|
||||
corelib_lboxcmn.o \
|
||||
corelib_listctrlcmn.o \
|
||||
corelib_markupparser.o \
|
||||
corelib_matrix.o \
|
||||
corelib_menucmn.o \
|
||||
corelib_modalhook.o \
|
||||
corelib_mousemanager.o \
|
||||
@ -20463,6 +20472,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
|
||||
@COND_USE_GUI_1@monodll_markupparser.o: $(srcdir)/src/common/markupparser.cpp $(MONODLL_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/markupparser.cpp
|
||||
|
||||
@COND_USE_GUI_1@monodll_matrix.o: $(srcdir)/src/common/matrix.cpp $(MONODLL_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/matrix.cpp
|
||||
|
||||
@COND_USE_GUI_1@monodll_menucmn.o: $(srcdir)/src/common/menucmn.cpp $(MONODLL_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/menucmn.cpp
|
||||
|
||||
@ -25728,6 +25740,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
|
||||
@COND_USE_GUI_1@monolib_markupparser.o: $(srcdir)/src/common/markupparser.cpp $(MONOLIB_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/markupparser.cpp
|
||||
|
||||
@COND_USE_GUI_1@monolib_matrix.o: $(srcdir)/src/common/matrix.cpp $(MONOLIB_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/matrix.cpp
|
||||
|
||||
@COND_USE_GUI_1@monolib_menucmn.o: $(srcdir)/src/common/menucmn.cpp $(MONOLIB_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/menucmn.cpp
|
||||
|
||||
@ -31074,6 +31089,9 @@ coredll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(COREDLL_ODEP)
|
||||
@COND_USE_GUI_1@coredll_markupparser.o: $(srcdir)/src/common/markupparser.cpp $(COREDLL_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/markupparser.cpp
|
||||
|
||||
@COND_USE_GUI_1@coredll_matrix.o: $(srcdir)/src/common/matrix.cpp $(COREDLL_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/matrix.cpp
|
||||
|
||||
@COND_USE_GUI_1@coredll_menucmn.o: $(srcdir)/src/common/menucmn.cpp $(COREDLL_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/menucmn.cpp
|
||||
|
||||
@ -35328,6 +35346,9 @@ corelib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(CORELIB_ODEP)
|
||||
@COND_USE_GUI_1@corelib_markupparser.o: $(srcdir)/src/common/markupparser.cpp $(CORELIB_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/markupparser.cpp
|
||||
|
||||
@COND_USE_GUI_1@corelib_matrix.o: $(srcdir)/src/common/matrix.cpp $(CORELIB_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/matrix.cpp
|
||||
|
||||
@COND_USE_GUI_1@corelib_menucmn.o: $(srcdir)/src/common/menucmn.cpp $(CORELIB_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/menucmn.cpp
|
||||
|
||||
|
@ -883,6 +883,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
src/common/lboxcmn.cpp
|
||||
src/common/listctrlcmn.cpp
|
||||
src/common/markupparser.cpp
|
||||
src/common/matrix.cpp
|
||||
src/common/menucmn.cpp
|
||||
src/common/modalhook.cpp
|
||||
src/common/mousemanager.cpp
|
||||
@ -1187,6 +1188,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
wx/listbase.h
|
||||
wx/listbook.h
|
||||
wx/listctrl.h
|
||||
wx/matrix.h
|
||||
wx/menuitem.h
|
||||
wx/metafile.h
|
||||
wx/minifram.h
|
||||
|
@ -787,6 +787,7 @@ set(GUI_CMN_SRC
|
||||
src/common/lboxcmn.cpp
|
||||
src/common/listctrlcmn.cpp
|
||||
src/common/markupparser.cpp
|
||||
src/common/matrix.cpp
|
||||
src/common/menucmn.cpp
|
||||
src/common/modalhook.cpp
|
||||
src/common/mousemanager.cpp
|
||||
@ -1096,6 +1097,7 @@ set(GUI_CMN_HDR
|
||||
wx/listbase.h
|
||||
wx/listbook.h
|
||||
wx/listctrl.h
|
||||
wx/matrix.h
|
||||
wx/menuitem.h
|
||||
wx/metafile.h
|
||||
wx/minifram.h
|
||||
|
@ -806,6 +806,7 @@ GUI_CMN_SRC =
|
||||
src/common/lboxcmn.cpp
|
||||
src/common/listctrlcmn.cpp
|
||||
src/common/markupparser.cpp
|
||||
src/common/matrix.cpp
|
||||
src/common/menucmn.cpp
|
||||
src/common/modalhook.cpp
|
||||
src/common/mousemanager.cpp
|
||||
@ -1100,6 +1101,7 @@ GUI_CMN_HDR =
|
||||
wx/listbook.h
|
||||
wx/listbox.h
|
||||
wx/listctrl.h
|
||||
wx/matrix.h
|
||||
wx/mdi.h
|
||||
wx/menu.h
|
||||
wx/menuitem.h
|
||||
|
@ -2028,6 +2028,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_lboxcmn.obj \
|
||||
$(OBJS)\monodll_listctrlcmn.obj \
|
||||
$(OBJS)\monodll_markupparser.obj \
|
||||
$(OBJS)\monodll_matrix.obj \
|
||||
$(OBJS)\monodll_menucmn.obj \
|
||||
$(OBJS)\monodll_modalhook.obj \
|
||||
$(OBJS)\monodll_mousemanager.obj \
|
||||
@ -2354,6 +2355,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_lboxcmn.obj \
|
||||
$(OBJS)\monodll_listctrlcmn.obj \
|
||||
$(OBJS)\monodll_markupparser.obj \
|
||||
$(OBJS)\monodll_matrix.obj \
|
||||
$(OBJS)\monodll_menucmn.obj \
|
||||
$(OBJS)\monodll_modalhook.obj \
|
||||
$(OBJS)\monodll_mousemanager.obj \
|
||||
@ -2860,6 +2862,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_lboxcmn.obj \
|
||||
$(OBJS)\monolib_listctrlcmn.obj \
|
||||
$(OBJS)\monolib_markupparser.obj \
|
||||
$(OBJS)\monolib_matrix.obj \
|
||||
$(OBJS)\monolib_menucmn.obj \
|
||||
$(OBJS)\monolib_modalhook.obj \
|
||||
$(OBJS)\monolib_mousemanager.obj \
|
||||
@ -3186,6 +3189,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_lboxcmn.obj \
|
||||
$(OBJS)\monolib_listctrlcmn.obj \
|
||||
$(OBJS)\monolib_markupparser.obj \
|
||||
$(OBJS)\monolib_matrix.obj \
|
||||
$(OBJS)\monolib_menucmn.obj \
|
||||
$(OBJS)\monolib_modalhook.obj \
|
||||
$(OBJS)\monolib_mousemanager.obj \
|
||||
@ -3565,6 +3569,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_lboxcmn.obj \
|
||||
$(OBJS)\coredll_listctrlcmn.obj \
|
||||
$(OBJS)\coredll_markupparser.obj \
|
||||
$(OBJS)\coredll_matrix.obj \
|
||||
$(OBJS)\coredll_menucmn.obj \
|
||||
$(OBJS)\coredll_modalhook.obj \
|
||||
$(OBJS)\coredll_mousemanager.obj \
|
||||
@ -3891,6 +3896,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_lboxcmn.obj \
|
||||
$(OBJS)\coredll_listctrlcmn.obj \
|
||||
$(OBJS)\coredll_markupparser.obj \
|
||||
$(OBJS)\coredll_matrix.obj \
|
||||
$(OBJS)\coredll_menucmn.obj \
|
||||
$(OBJS)\coredll_modalhook.obj \
|
||||
$(OBJS)\coredll_mousemanager.obj \
|
||||
@ -4236,6 +4242,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_lboxcmn.obj \
|
||||
$(OBJS)\corelib_listctrlcmn.obj \
|
||||
$(OBJS)\corelib_markupparser.obj \
|
||||
$(OBJS)\corelib_matrix.obj \
|
||||
$(OBJS)\corelib_menucmn.obj \
|
||||
$(OBJS)\corelib_modalhook.obj \
|
||||
$(OBJS)\corelib_mousemanager.obj \
|
||||
@ -4562,6 +4569,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_lboxcmn.obj \
|
||||
$(OBJS)\corelib_listctrlcmn.obj \
|
||||
$(OBJS)\corelib_markupparser.obj \
|
||||
$(OBJS)\corelib_matrix.obj \
|
||||
$(OBJS)\corelib_menucmn.obj \
|
||||
$(OBJS)\corelib_modalhook.obj \
|
||||
$(OBJS)\corelib_mousemanager.obj \
|
||||
@ -8395,6 +8403,11 @@ $(OBJS)\monodll_markupparser.obj: ..\..\src\common\markupparser.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\markupparser.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monodll_matrix.obj: ..\..\src\common\matrix.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\matrix.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monodll_menucmn.obj: ..\..\src\common\menucmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\menucmn.cpp
|
||||
@ -10944,6 +10957,11 @@ $(OBJS)\monolib_markupparser.obj: ..\..\src\common\markupparser.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\markupparser.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monolib_matrix.obj: ..\..\src\common\matrix.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\matrix.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monolib_menucmn.obj: ..\..\src\common\menucmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\menucmn.cpp
|
||||
@ -13451,6 +13469,11 @@ $(OBJS)\coredll_markupparser.obj: ..\..\src\common\markupparser.cpp
|
||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\markupparser.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\coredll_matrix.obj: ..\..\src\common\matrix.cpp
|
||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\matrix.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\coredll_menucmn.obj: ..\..\src\common\menucmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\menucmn.cpp
|
||||
@ -15181,6 +15204,11 @@ $(OBJS)\corelib_markupparser.obj: ..\..\src\common\markupparser.cpp
|
||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\markupparser.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\corelib_matrix.obj: ..\..\src\common\matrix.cpp
|
||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\matrix.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\corelib_menucmn.obj: ..\..\src\common\menucmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\menucmn.cpp
|
||||
|
@ -2053,6 +2053,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_lboxcmn.o \
|
||||
$(OBJS)\monodll_listctrlcmn.o \
|
||||
$(OBJS)\monodll_markupparser.o \
|
||||
$(OBJS)\monodll_matrix.o \
|
||||
$(OBJS)\monodll_menucmn.o \
|
||||
$(OBJS)\monodll_modalhook.o \
|
||||
$(OBJS)\monodll_mousemanager.o \
|
||||
@ -2381,6 +2382,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_lboxcmn.o \
|
||||
$(OBJS)\monodll_listctrlcmn.o \
|
||||
$(OBJS)\monodll_markupparser.o \
|
||||
$(OBJS)\monodll_matrix.o \
|
||||
$(OBJS)\monodll_menucmn.o \
|
||||
$(OBJS)\monodll_modalhook.o \
|
||||
$(OBJS)\monodll_mousemanager.o \
|
||||
@ -2891,6 +2893,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_lboxcmn.o \
|
||||
$(OBJS)\monolib_listctrlcmn.o \
|
||||
$(OBJS)\monolib_markupparser.o \
|
||||
$(OBJS)\monolib_matrix.o \
|
||||
$(OBJS)\monolib_menucmn.o \
|
||||
$(OBJS)\monolib_modalhook.o \
|
||||
$(OBJS)\monolib_mousemanager.o \
|
||||
@ -3219,6 +3222,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_lboxcmn.o \
|
||||
$(OBJS)\monolib_listctrlcmn.o \
|
||||
$(OBJS)\monolib_markupparser.o \
|
||||
$(OBJS)\monolib_matrix.o \
|
||||
$(OBJS)\monolib_menucmn.o \
|
||||
$(OBJS)\monolib_modalhook.o \
|
||||
$(OBJS)\monolib_mousemanager.o \
|
||||
@ -3612,6 +3616,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_lboxcmn.o \
|
||||
$(OBJS)\coredll_listctrlcmn.o \
|
||||
$(OBJS)\coredll_markupparser.o \
|
||||
$(OBJS)\coredll_matrix.o \
|
||||
$(OBJS)\coredll_menucmn.o \
|
||||
$(OBJS)\coredll_modalhook.o \
|
||||
$(OBJS)\coredll_mousemanager.o \
|
||||
@ -3940,6 +3945,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_lboxcmn.o \
|
||||
$(OBJS)\coredll_listctrlcmn.o \
|
||||
$(OBJS)\coredll_markupparser.o \
|
||||
$(OBJS)\coredll_matrix.o \
|
||||
$(OBJS)\coredll_menucmn.o \
|
||||
$(OBJS)\coredll_modalhook.o \
|
||||
$(OBJS)\coredll_mousemanager.o \
|
||||
@ -4291,6 +4297,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_lboxcmn.o \
|
||||
$(OBJS)\corelib_listctrlcmn.o \
|
||||
$(OBJS)\corelib_markupparser.o \
|
||||
$(OBJS)\corelib_matrix.o \
|
||||
$(OBJS)\corelib_menucmn.o \
|
||||
$(OBJS)\corelib_modalhook.o \
|
||||
$(OBJS)\corelib_mousemanager.o \
|
||||
@ -4619,6 +4626,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_lboxcmn.o \
|
||||
$(OBJS)\corelib_listctrlcmn.o \
|
||||
$(OBJS)\corelib_markupparser.o \
|
||||
$(OBJS)\corelib_matrix.o \
|
||||
$(OBJS)\corelib_menucmn.o \
|
||||
$(OBJS)\corelib_modalhook.o \
|
||||
$(OBJS)\corelib_mousemanager.o \
|
||||
@ -8699,6 +8707,11 @@ $(OBJS)\monodll_markupparser.o: ../../src/common/markupparser.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monodll_matrix.o: ../../src/common/matrix.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monodll_menucmn.o: ../../src/common/menucmn.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
@ -11248,6 +11261,11 @@ $(OBJS)\monolib_markupparser.o: ../../src/common/markupparser.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monolib_matrix.o: ../../src/common/matrix.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monolib_menucmn.o: ../../src/common/menucmn.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
@ -13755,6 +13773,11 @@ $(OBJS)\coredll_markupparser.o: ../../src/common/markupparser.cpp
|
||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\coredll_matrix.o: ../../src/common/matrix.cpp
|
||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\coredll_menucmn.o: ../../src/common/menucmn.cpp
|
||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
@ -15485,6 +15508,11 @@ $(OBJS)\corelib_markupparser.o: ../../src/common/markupparser.cpp
|
||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\corelib_matrix.o: ../../src/common/matrix.cpp
|
||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\corelib_menucmn.o: ../../src/common/menucmn.cpp
|
||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
@ -2365,6 +2365,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_lboxcmn.obj \
|
||||
$(OBJS)\monodll_listctrlcmn.obj \
|
||||
$(OBJS)\monodll_markupparser.obj \
|
||||
$(OBJS)\monodll_matrix.obj \
|
||||
$(OBJS)\monodll_menucmn.obj \
|
||||
$(OBJS)\monodll_modalhook.obj \
|
||||
$(OBJS)\monodll_mousemanager.obj \
|
||||
@ -2691,6 +2692,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_lboxcmn.obj \
|
||||
$(OBJS)\monodll_listctrlcmn.obj \
|
||||
$(OBJS)\monodll_markupparser.obj \
|
||||
$(OBJS)\monodll_matrix.obj \
|
||||
$(OBJS)\monodll_menucmn.obj \
|
||||
$(OBJS)\monodll_modalhook.obj \
|
||||
$(OBJS)\monodll_mousemanager.obj \
|
||||
@ -3203,6 +3205,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_lboxcmn.obj \
|
||||
$(OBJS)\monolib_listctrlcmn.obj \
|
||||
$(OBJS)\monolib_markupparser.obj \
|
||||
$(OBJS)\monolib_matrix.obj \
|
||||
$(OBJS)\monolib_menucmn.obj \
|
||||
$(OBJS)\monolib_modalhook.obj \
|
||||
$(OBJS)\monolib_mousemanager.obj \
|
||||
@ -3529,6 +3532,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_lboxcmn.obj \
|
||||
$(OBJS)\monolib_listctrlcmn.obj \
|
||||
$(OBJS)\monolib_markupparser.obj \
|
||||
$(OBJS)\monolib_matrix.obj \
|
||||
$(OBJS)\monolib_menucmn.obj \
|
||||
$(OBJS)\monolib_modalhook.obj \
|
||||
$(OBJS)\monolib_mousemanager.obj \
|
||||
@ -3974,6 +3978,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_lboxcmn.obj \
|
||||
$(OBJS)\coredll_listctrlcmn.obj \
|
||||
$(OBJS)\coredll_markupparser.obj \
|
||||
$(OBJS)\coredll_matrix.obj \
|
||||
$(OBJS)\coredll_menucmn.obj \
|
||||
$(OBJS)\coredll_modalhook.obj \
|
||||
$(OBJS)\coredll_mousemanager.obj \
|
||||
@ -4300,6 +4305,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_lboxcmn.obj \
|
||||
$(OBJS)\coredll_listctrlcmn.obj \
|
||||
$(OBJS)\coredll_markupparser.obj \
|
||||
$(OBJS)\coredll_matrix.obj \
|
||||
$(OBJS)\coredll_menucmn.obj \
|
||||
$(OBJS)\coredll_modalhook.obj \
|
||||
$(OBJS)\coredll_mousemanager.obj \
|
||||
@ -4651,6 +4657,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_lboxcmn.obj \
|
||||
$(OBJS)\corelib_listctrlcmn.obj \
|
||||
$(OBJS)\corelib_markupparser.obj \
|
||||
$(OBJS)\corelib_matrix.obj \
|
||||
$(OBJS)\corelib_menucmn.obj \
|
||||
$(OBJS)\corelib_modalhook.obj \
|
||||
$(OBJS)\corelib_mousemanager.obj \
|
||||
@ -4977,6 +4984,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_lboxcmn.obj \
|
||||
$(OBJS)\corelib_listctrlcmn.obj \
|
||||
$(OBJS)\corelib_markupparser.obj \
|
||||
$(OBJS)\corelib_matrix.obj \
|
||||
$(OBJS)\corelib_menucmn.obj \
|
||||
$(OBJS)\corelib_modalhook.obj \
|
||||
$(OBJS)\corelib_mousemanager.obj \
|
||||
@ -9130,6 +9138,11 @@ $(OBJS)\monodll_markupparser.obj: ..\..\src\common\markupparser.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\markupparser.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monodll_matrix.obj: ..\..\src\common\matrix.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\matrix.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monodll_menucmn.obj: ..\..\src\common\menucmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\menucmn.cpp
|
||||
@ -11679,6 +11692,11 @@ $(OBJS)\monolib_markupparser.obj: ..\..\src\common\markupparser.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\markupparser.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monolib_matrix.obj: ..\..\src\common\matrix.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\matrix.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monolib_menucmn.obj: ..\..\src\common\menucmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\menucmn.cpp
|
||||
@ -14186,6 +14204,11 @@ $(OBJS)\coredll_markupparser.obj: ..\..\src\common\markupparser.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\markupparser.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\coredll_matrix.obj: ..\..\src\common\matrix.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\matrix.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\coredll_menucmn.obj: ..\..\src\common\menucmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\menucmn.cpp
|
||||
@ -15916,6 +15939,11 @@ $(OBJS)\corelib_markupparser.obj: ..\..\src\common\markupparser.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\markupparser.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\corelib_matrix.obj: ..\..\src\common\matrix.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\matrix.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\corelib_menucmn.obj: ..\..\src\common\menucmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\menucmn.cpp
|
||||
|
@ -541,6 +541,7 @@
|
||||
<ClCompile Include="..\..\src\common\lboxcmn.cpp" />
|
||||
<ClCompile Include="..\..\src\common\listctrlcmn.cpp" />
|
||||
<ClCompile Include="..\..\src\common\markupparser.cpp" />
|
||||
<ClCompile Include="..\..\src\common\matrix.cpp" />
|
||||
<ClCompile Include="..\..\src\common\menucmn.cpp" />
|
||||
<ClCompile Include="..\..\src\common\modalhook.cpp" />
|
||||
<ClCompile Include="..\..\src\common\mousemanager.cpp" />
|
||||
@ -1337,6 +1338,7 @@
|
||||
<ClInclude Include="..\..\include\wx\listbook.h" />
|
||||
<ClInclude Include="..\..\include\wx\listbox.h" />
|
||||
<ClInclude Include="..\..\include\wx\listctrl.h" />
|
||||
<ClInclude Include="..\..\include\wx\matrix.h" />
|
||||
<ClInclude Include="..\..\include\wx\mdi.h" />
|
||||
<ClInclude Include="..\..\include\wx\menu.h" />
|
||||
<ClInclude Include="..\..\include\wx\menuitem.h" />
|
||||
|
@ -294,6 +294,9 @@
|
||||
<ClCompile Include="..\..\src\common\markupparser.cpp">
|
||||
<Filter>Common Sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\common\matrix.cpp">
|
||||
<Filter>Common Sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\common\menucmn.cpp">
|
||||
<Filter>Common Sources</Filter>
|
||||
</ClCompile>
|
||||
@ -1615,6 +1618,9 @@
|
||||
<ClInclude Include="..\..\include\wx\listctrl.h">
|
||||
<Filter>Common Headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\wx\matrix.h">
|
||||
<Filter>Common Headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\wx\mdi.h">
|
||||
<Filter>Common Headers</Filter>
|
||||
</ClInclude>
|
||||
|
@ -567,6 +567,9 @@
|
||||
<File
|
||||
RelativePath="..\..\src\common\markupparser.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\matrix.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\menucmn.cpp">
|
||||
</File>
|
||||
@ -2474,6 +2477,9 @@
|
||||
<File
|
||||
RelativePath="..\..\include\wx\propgrid\manager.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\matrix.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\mdi.h">
|
||||
</File>
|
||||
|
@ -1161,6 +1161,10 @@
|
||||
RelativePath="..\..\src\common\markupparser.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\matrix.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\menucmn.cpp"
|
||||
>
|
||||
@ -3800,6 +3804,10 @@
|
||||
RelativePath="..\..\include\wx\propgrid\manager.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\matrix.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\mdi.h"
|
||||
>
|
||||
|
@ -1157,6 +1157,10 @@
|
||||
RelativePath="..\..\src\common\markupparser.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\matrix.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\menucmn.cpp"
|
||||
>
|
||||
@ -3796,6 +3800,10 @@
|
||||
RelativePath="..\..\include\wx\propgrid\manager.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\matrix.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\mdi.h"
|
||||
>
|
||||
|
@ -1766,6 +1766,9 @@
|
||||
9A178ED42D96329D8CBF9B89 /* tif_predict.c in Sources */ = {isa = PBXBuildFile; fileRef = 2FA01C426EAF38D3B9ED35AC /* tif_predict.c */; };
|
||||
9A178ED42D96329D8CBF9B8A /* tif_predict.c in Sources */ = {isa = PBXBuildFile; fileRef = 2FA01C426EAF38D3B9ED35AC /* tif_predict.c */; };
|
||||
9A178ED42D96329D8CBF9B8B /* tif_predict.c in Sources */ = {isa = PBXBuildFile; fileRef = 2FA01C426EAF38D3B9ED35AC /* tif_predict.c */; };
|
||||
9A83D365AD1F37FA9C7030C2 /* matrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EF330EAACFA53877BE289896 /* matrix.cpp */; };
|
||||
9A83D365AD1F37FA9C7030C3 /* matrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EF330EAACFA53877BE289896 /* matrix.cpp */; };
|
||||
9A83D365AD1F37FA9C7030C4 /* matrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EF330EAACFA53877BE289896 /* matrix.cpp */; };
|
||||
9B3F9D04FB533D99B58BD519 /* jfdctfst.c in Sources */ = {isa = PBXBuildFile; fileRef = 029486D6A2EC3DE0902A6A24 /* jfdctfst.c */; };
|
||||
9B3F9D04FB533D99B58BD51A /* jfdctfst.c in Sources */ = {isa = PBXBuildFile; fileRef = 029486D6A2EC3DE0902A6A24 /* jfdctfst.c */; };
|
||||
9B3F9D04FB533D99B58BD51B /* jfdctfst.c in Sources */ = {isa = PBXBuildFile; fileRef = 029486D6A2EC3DE0902A6A24 /* jfdctfst.c */; };
|
||||
@ -4754,6 +4757,7 @@
|
||||
EEADAA811BBF3CBBB9E254FD /* xh_split.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_split.cpp; path = ../../src/xrc/xh_split.cpp; sourceTree = "<group>"; };
|
||||
EED7C691150139EFA35E8EBD /* utils_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = utils_osx.cpp; path = ../../src/osx/utils_osx.cpp; sourceTree = "<group>"; };
|
||||
EEE82083BFA430D5B58F8A04 /* regfree.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = regfree.c; path = ../../src/regex/regfree.c; sourceTree = "<group>"; };
|
||||
EF330EAACFA53877BE289896 /* matrix.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = matrix.cpp; path = ../../src/common/matrix.cpp; sourceTree = "<group>"; };
|
||||
F01DDE448E4C3983ACCE67FD /* appcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = appcmn.cpp; path = ../../src/common/appcmn.cpp; sourceTree = "<group>"; };
|
||||
F0905A1EBD653F6D82395602 /* xh_combo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_combo.cpp; path = ../../src/xrc/xh_combo.cpp; sourceTree = "<group>"; };
|
||||
F175D6E8E5723FC797701275 /* menucmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = menucmn.cpp; path = ../../src/common/menucmn.cpp; sourceTree = "<group>"; };
|
||||
@ -5529,6 +5533,7 @@
|
||||
9660AE8FEB7B3EDB857B9238 /* lboxcmn.cpp */,
|
||||
E1B1FBB2BCC43BA7A45E9438 /* listctrlcmn.cpp */,
|
||||
DA7F7633279936EFA0B9C5CF /* markupparser.cpp */,
|
||||
EF330EAACFA53877BE289896 /* matrix.cpp */,
|
||||
F175D6E8E5723FC797701275 /* menucmn.cpp */,
|
||||
58E7C516E2453A269280A404 /* modalhook.cpp */,
|
||||
D037EA567C253DEEA17E822B /* mousemanager.cpp */,
|
||||
@ -7743,6 +7748,7 @@
|
||||
CFF73578F04D357E83D1D832 /* lboxcmn.cpp in Sources */,
|
||||
164010B26D363F5FA09785B8 /* listctrlcmn.cpp in Sources */,
|
||||
2F7F5B9BBCD83D90B237A1A2 /* markupparser.cpp in Sources */,
|
||||
9A83D365AD1F37FA9C7030C4 /* matrix.cpp in Sources */,
|
||||
E3A4615870B139D29FE727C3 /* menucmn.cpp in Sources */,
|
||||
171F09F8DD553FA5B4B3FAE4 /* modalhook.cpp in Sources */,
|
||||
BD49EC50CB363642BDBF25CA /* mousemanager.cpp in Sources */,
|
||||
@ -8420,6 +8426,7 @@
|
||||
CFF73578F04D357E83D1D831 /* lboxcmn.cpp in Sources */,
|
||||
164010B26D363F5FA09785B7 /* listctrlcmn.cpp in Sources */,
|
||||
2F7F5B9BBCD83D90B237A1A1 /* markupparser.cpp in Sources */,
|
||||
9A83D365AD1F37FA9C7030C3 /* matrix.cpp in Sources */,
|
||||
E3A4615870B139D29FE727C2 /* menucmn.cpp in Sources */,
|
||||
171F09F8DD553FA5B4B3FAE3 /* modalhook.cpp in Sources */,
|
||||
BD49EC50CB363642BDBF25C9 /* mousemanager.cpp in Sources */,
|
||||
@ -9650,6 +9657,7 @@
|
||||
CFF73578F04D357E83D1D830 /* lboxcmn.cpp in Sources */,
|
||||
164010B26D363F5FA09785B6 /* listctrlcmn.cpp in Sources */,
|
||||
2F7F5B9BBCD83D90B237A1A0 /* markupparser.cpp in Sources */,
|
||||
9A83D365AD1F37FA9C7030C2 /* matrix.cpp in Sources */,
|
||||
E3A4615870B139D29FE727C1 /* menucmn.cpp in Sources */,
|
||||
171F09F8DD553FA5B4B3FAE2 /* modalhook.cpp in Sources */,
|
||||
BD49EC50CB363642BDBF25C8 /* mousemanager.cpp in Sources */,
|
||||
|
@ -514,6 +514,7 @@
|
||||
99E7A46106C03484BA70D29E /* tif_unix.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D2F8259CC99380CB8217DEF /* tif_unix.c */; };
|
||||
99F7D7BFBB543A04AB728375 /* m_hline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ECA4A44BEC2F3AED8CF0C911 /* m_hline.cpp */; };
|
||||
9A178ED42D96329D8CBF9B89 /* tif_predict.c in Sources */ = {isa = PBXBuildFile; fileRef = 2FA01C426EAF38D3B9ED35AC /* tif_predict.c */; };
|
||||
9A83D365AD1F37FA9C7030C2 /* matrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EF330EAACFA53877BE289896 /* matrix.cpp */; };
|
||||
9B3F9D04FB533D99B58BD519 /* jfdctfst.c in Sources */ = {isa = PBXBuildFile; fileRef = 029486D6A2EC3DE0902A6A24 /* jfdctfst.c */; };
|
||||
9B6A35E706543CDAA6A5014A /* LexGui4Cli.cxx in Sources */ = {isa = PBXBuildFile; fileRef = FFB767BD2C7235F293F45796 /* LexGui4Cli.cxx */; };
|
||||
9B8E5690A6103FC1BDC6C47E /* pngread.c in Sources */ = {isa = PBXBuildFile; fileRef = 29D6506AEA5A323B8735F126 /* pngread.c */; };
|
||||
@ -1663,6 +1664,7 @@
|
||||
EEADAA811BBF3CBBB9E254FD /* xh_split.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_split.cpp; path = ../../src/xrc/xh_split.cpp; sourceTree = "<group>"; };
|
||||
EED7C691150139EFA35E8EBD /* utils_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = utils_osx.cpp; path = ../../src/osx/utils_osx.cpp; sourceTree = "<group>"; };
|
||||
EEE82083BFA430D5B58F8A04 /* regfree.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = regfree.c; path = ../../src/regex/regfree.c; sourceTree = "<group>"; };
|
||||
EF330EAACFA53877BE289896 /* matrix.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = matrix.cpp; path = ../../src/common/matrix.cpp; sourceTree = "<group>"; };
|
||||
F01DDE448E4C3983ACCE67FD /* appcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = appcmn.cpp; path = ../../src/common/appcmn.cpp; sourceTree = "<group>"; };
|
||||
F0905A1EBD653F6D82395602 /* xh_combo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_combo.cpp; path = ../../src/xrc/xh_combo.cpp; sourceTree = "<group>"; };
|
||||
F175D6E8E5723FC797701275 /* menucmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = menucmn.cpp; path = ../../src/common/menucmn.cpp; sourceTree = "<group>"; };
|
||||
@ -2119,6 +2121,7 @@
|
||||
9660AE8FEB7B3EDB857B9238 /* lboxcmn.cpp */,
|
||||
E1B1FBB2BCC43BA7A45E9438 /* listctrlcmn.cpp */,
|
||||
DA7F7633279936EFA0B9C5CF /* markupparser.cpp */,
|
||||
EF330EAACFA53877BE289896 /* matrix.cpp */,
|
||||
F175D6E8E5723FC797701275 /* menucmn.cpp */,
|
||||
58E7C516E2453A269280A404 /* modalhook.cpp */,
|
||||
D037EA567C253DEEA17E822B /* mousemanager.cpp */,
|
||||
@ -3169,6 +3172,7 @@
|
||||
CFF73578F04D357E83D1D830 /* lboxcmn.cpp in Sources */,
|
||||
164010B26D363F5FA09785B6 /* listctrlcmn.cpp in Sources */,
|
||||
2F7F5B9BBCD83D90B237A1A0 /* markupparser.cpp in Sources */,
|
||||
9A83D365AD1F37FA9C7030C2 /* matrix.cpp in Sources */,
|
||||
E3A4615870B139D29FE727C1 /* menucmn.cpp in Sources */,
|
||||
171F09F8DD553FA5B4B3FAE2 /* modalhook.cpp in Sources */,
|
||||
BD49EC50CB363642BDBF25C8 /* mousemanager.cpp in Sources */,
|
||||
|
234
include/wx/matrix.h
Normal file
234
include/wx/matrix.h
Normal file
@ -0,0 +1,234 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/matrix.h
|
||||
// Purpose: wxTransformMatrix class. NOT YET USED
|
||||
// Author: Chris Breeze, Julian Smart
|
||||
// Modified by: Klaas Holwerda
|
||||
// Created: 01/02/97
|
||||
// Copyright: (c) Julian Smart, Chris Breeze
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_MATRIXH__
|
||||
#define _WX_MATRIXH__
|
||||
|
||||
//! headerfiles="matrix.h wx/object.h"
|
||||
#include "wx/object.h"
|
||||
#include "wx/math.h"
|
||||
|
||||
//! codefiles="matrix.cpp"
|
||||
|
||||
// A simple 3x3 matrix. This may be replaced by a more general matrix
|
||||
// class some day.
|
||||
//
|
||||
// Note: this is intended to be used in wxDC at some point to replace
|
||||
// the current system of scaling/translation. It is not yet used.
|
||||
|
||||
//:definition
|
||||
// A 3x3 matrix to do 2D transformations.
|
||||
// It can be used to map data to window coordinates,
|
||||
// and also for manipulating your own data.
|
||||
// For example drawing a picture (composed of several primitives)
|
||||
// at a certain coordinate and angle within another parent picture.
|
||||
// At all times m_isIdentity is set if the matrix itself is an Identity matrix.
|
||||
// It is used where possible to optimize calculations.
|
||||
class WXDLLIMPEXP_CORE wxTransformMatrix: public wxObject
|
||||
{
|
||||
public:
|
||||
wxTransformMatrix();
|
||||
wxTransformMatrix(const wxTransformMatrix& mat);
|
||||
|
||||
//get the value in the matrix at col,row
|
||||
//rows are horizontal (second index of m_matrix member)
|
||||
//columns are vertical (first index of m_matrix member)
|
||||
double GetValue(int col, int row) const;
|
||||
|
||||
//set the value in the matrix at col,row
|
||||
//rows are horizontal (second index of m_matrix member)
|
||||
//columns are vertical (first index of m_matrix member)
|
||||
void SetValue(int col, int row, double value);
|
||||
|
||||
void operator = (const wxTransformMatrix& mat);
|
||||
bool operator == (const wxTransformMatrix& mat) const;
|
||||
bool operator != (const wxTransformMatrix& mat) const;
|
||||
|
||||
//multiply every element by t
|
||||
wxTransformMatrix& operator*=(const double& t);
|
||||
//divide every element by t
|
||||
wxTransformMatrix& operator/=(const double& t);
|
||||
//add matrix m to this t
|
||||
wxTransformMatrix& operator+=(const wxTransformMatrix& m);
|
||||
//subtract matrix m from this
|
||||
wxTransformMatrix& operator-=(const wxTransformMatrix& m);
|
||||
//multiply matrix m with this
|
||||
wxTransformMatrix& operator*=(const wxTransformMatrix& m);
|
||||
|
||||
// constant operators
|
||||
|
||||
//multiply every element by t and return result
|
||||
wxTransformMatrix operator*(const double& t) const;
|
||||
//divide this matrix by t and return result
|
||||
wxTransformMatrix operator/(const double& t) const;
|
||||
//add matrix m to this and return result
|
||||
wxTransformMatrix operator+(const wxTransformMatrix& m) const;
|
||||
//subtract matrix m from this and return result
|
||||
wxTransformMatrix operator-(const wxTransformMatrix& m) const;
|
||||
//multiply this by matrix m and return result
|
||||
wxTransformMatrix operator*(const wxTransformMatrix& m) const;
|
||||
wxTransformMatrix operator-() const;
|
||||
|
||||
//rows are horizontal (second index of m_matrix member)
|
||||
//columns are vertical (first index of m_matrix member)
|
||||
double& operator()(int col, int row);
|
||||
|
||||
//rows are horizontal (second index of m_matrix member)
|
||||
//columns are vertical (first index of m_matrix member)
|
||||
double operator()(int col, int row) const;
|
||||
|
||||
// Invert matrix
|
||||
bool Invert();
|
||||
|
||||
// Make into identity matrix
|
||||
bool Identity();
|
||||
|
||||
// Is the matrix the identity matrix?
|
||||
// Only returns a flag, which is set whenever an operation
|
||||
// is done.
|
||||
inline bool IsIdentity() const { return m_isIdentity; }
|
||||
|
||||
// This does an actual check.
|
||||
inline bool IsIdentity1() const ;
|
||||
|
||||
//Scale by scale (isotropic scaling i.e. the same in x and y):
|
||||
//!ex:
|
||||
//!code: | scale 0 0 |
|
||||
//!code: matrix' = | 0 scale 0 | x matrix
|
||||
//!code: | 0 0 scale |
|
||||
bool Scale(double scale);
|
||||
|
||||
//Scale with center point and x/y scale
|
||||
//
|
||||
//!ex:
|
||||
//!code: | xs 0 xc(1-xs) |
|
||||
//!code: matrix' = | 0 ys yc(1-ys) | x matrix
|
||||
//!code: | 0 0 1 |
|
||||
wxTransformMatrix& Scale(const double &xs, const double &ys,const double &xc, const double &yc);
|
||||
|
||||
// mirror a matrix in x, y
|
||||
//!ex:
|
||||
//!code: | -1 0 0 |
|
||||
//!code: matrix' = | 0 -1 0 | x matrix
|
||||
//!code: | 0 0 1 |
|
||||
wxTransformMatrix& Mirror(bool x=true, bool y=false);
|
||||
// Translate by dx, dy:
|
||||
//!ex:
|
||||
//!code: | 1 0 dx |
|
||||
//!code: matrix' = | 0 1 dy | x matrix
|
||||
//!code: | 0 0 1 |
|
||||
bool Translate(double x, double y);
|
||||
|
||||
// Rotate clockwise by the given number of degrees:
|
||||
//!ex:
|
||||
//!code: | cos sin 0 |
|
||||
//!code: matrix' = | -sin cos 0 | x matrix
|
||||
//!code: | 0 0 1 |
|
||||
bool Rotate(double angle);
|
||||
|
||||
//Rotate counter clockwise with point of rotation
|
||||
//
|
||||
//!ex:
|
||||
//!code: | cos(r) -sin(r) x(1-cos(r))+y(sin(r)|
|
||||
//!code: matrix' = | sin(r) cos(r) y(1-cos(r))-x(sin(r)| x matrix
|
||||
//!code: | 0 0 1 |
|
||||
wxTransformMatrix& Rotate(const double &r, const double &x, const double &y);
|
||||
|
||||
// Transform X value from logical to device
|
||||
inline double TransformX(double x) const;
|
||||
|
||||
// Transform Y value from logical to device
|
||||
inline double TransformY(double y) const;
|
||||
|
||||
// Transform a point from logical to device coordinates
|
||||
bool TransformPoint(double x, double y, double& tx, double& ty) const;
|
||||
|
||||
// Transform a point from device to logical coordinates.
|
||||
// Example of use:
|
||||
// wxTransformMatrix mat = dc.GetTransformation();
|
||||
// mat.Invert();
|
||||
// mat.InverseTransformPoint(x, y, x1, y1);
|
||||
// OR (shorthand:)
|
||||
// dc.LogicalToDevice(x, y, x1, y1);
|
||||
// The latter is slightly less efficient if we're doing several
|
||||
// conversions, since the matrix is inverted several times.
|
||||
// N.B. 'this' matrix is the inverse at this point
|
||||
bool InverseTransformPoint(double x, double y, double& tx, double& ty) const;
|
||||
|
||||
double Get_scaleX();
|
||||
double Get_scaleY();
|
||||
double GetRotation();
|
||||
void SetRotation(double rotation);
|
||||
|
||||
|
||||
public:
|
||||
double m_matrix[3][3];
|
||||
bool m_isIdentity;
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
Chris Breeze reported, that
|
||||
some functions of wxTransformMatrix cannot work because it is not
|
||||
known if he matrix has been inverted. Be careful when using it.
|
||||
*/
|
||||
|
||||
// Transform X value from logical to device
|
||||
// warning: this function can only be used for this purpose
|
||||
// because no rotation is involved when mapping logical to device coordinates
|
||||
// mirror and scaling for x and y will be part of the matrix
|
||||
// if you have a matrix that is rotated, eg a shape containing a matrix to place
|
||||
// it in the logical coordinate system, use TransformPoint
|
||||
inline double wxTransformMatrix::TransformX(double x) const
|
||||
{
|
||||
//normally like this, but since no rotation is involved (only mirror and scale)
|
||||
//we can do without Y -> m_matrix[1]{0] is -sin(rotation angle) and therefore zero
|
||||
//(x * m_matrix[0][0] + y * m_matrix[1][0] + m_matrix[2][0]))
|
||||
return (m_isIdentity ? x : (x * m_matrix[0][0] + m_matrix[2][0]));
|
||||
}
|
||||
|
||||
// Transform Y value from logical to device
|
||||
// warning: this function can only be used for this purpose
|
||||
// because no rotation is involved when mapping logical to device coordinates
|
||||
// mirror and scaling for x and y will be part of the matrix
|
||||
// if you have a matrix that is rotated, eg a shape containing a matrix to place
|
||||
// it in the logical coordinate system, use TransformPoint
|
||||
inline double wxTransformMatrix::TransformY(double y) const
|
||||
{
|
||||
//normally like this, but since no rotation is involved (only mirror and scale)
|
||||
//we can do without X -> m_matrix[0]{1] is sin(rotation angle) and therefore zero
|
||||
//(x * m_matrix[0][1] + y * m_matrix[1][1] + m_matrix[2][1]))
|
||||
return (m_isIdentity ? y : (y * m_matrix[1][1] + m_matrix[2][1]));
|
||||
}
|
||||
|
||||
|
||||
// Is the matrix the identity matrix?
|
||||
// Each operation checks whether the result is still the identity matrix and sets a flag.
|
||||
inline bool wxTransformMatrix::IsIdentity1() const
|
||||
{
|
||||
return
|
||||
( wxIsSameDouble(m_matrix[0][0], 1.0) &&
|
||||
wxIsSameDouble(m_matrix[1][1], 1.0) &&
|
||||
wxIsSameDouble(m_matrix[2][2], 1.0) &&
|
||||
wxIsSameDouble(m_matrix[1][0], 0.0) &&
|
||||
wxIsSameDouble(m_matrix[2][0], 0.0) &&
|
||||
wxIsSameDouble(m_matrix[0][1], 0.0) &&
|
||||
wxIsSameDouble(m_matrix[2][1], 0.0) &&
|
||||
wxIsSameDouble(m_matrix[0][2], 0.0) &&
|
||||
wxIsSameDouble(m_matrix[1][2], 0.0) );
|
||||
}
|
||||
|
||||
// Calculates the determinant of a 2 x 2 matrix
|
||||
inline double wxCalculateDet(double a11, double a21, double a12, double a22)
|
||||
{
|
||||
return a11 * a22 - a12 * a21;
|
||||
}
|
||||
|
||||
#endif // _WX_MATRIXH__
|
600
src/common/matrix.cpp
Normal file
600
src/common/matrix.cpp
Normal file
@ -0,0 +1,600 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: src/common/matrix.cpp
|
||||
// Purpose: wxTransformMatrix class
|
||||
// Author: Chris Breeze, Julian Smart
|
||||
// Modified by: Klaas Holwerda
|
||||
// Created: 01/02/97
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Note: this is intended to be used in wxDC at some point to replace
|
||||
// the current system of scaling/translation. It is not yet used.
|
||||
|
||||
// For compilers that support precompilation, includes "wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#include "wx/matrix.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/math.h"
|
||||
#endif
|
||||
|
||||
static const double pi = M_PI;
|
||||
|
||||
wxTransformMatrix::wxTransformMatrix()
|
||||
{
|
||||
m_isIdentity = false;
|
||||
|
||||
Identity();
|
||||
}
|
||||
|
||||
wxTransformMatrix::wxTransformMatrix(const wxTransformMatrix& mat)
|
||||
: wxObject()
|
||||
{
|
||||
(*this) = mat;
|
||||
}
|
||||
|
||||
double wxTransformMatrix::GetValue(int col, int row) const
|
||||
{
|
||||
if (row < 0 || row > 2 || col < 0 || col > 2)
|
||||
return 0.0;
|
||||
|
||||
return m_matrix[col][row];
|
||||
}
|
||||
|
||||
void wxTransformMatrix::SetValue(int col, int row, double value)
|
||||
{
|
||||
if (row < 0 || row > 2 || col < 0 || col > 2)
|
||||
return;
|
||||
|
||||
m_matrix[col][row] = value;
|
||||
m_isIdentity = IsIdentity1();
|
||||
}
|
||||
|
||||
void wxTransformMatrix::operator = (const wxTransformMatrix& mat)
|
||||
{
|
||||
int i, j;
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
for (j = 0; j < 3; j++)
|
||||
{
|
||||
m_matrix[i][j] = mat.m_matrix[i][j];
|
||||
}
|
||||
}
|
||||
m_isIdentity = mat.m_isIdentity;
|
||||
}
|
||||
|
||||
bool wxTransformMatrix::operator == (const wxTransformMatrix& mat) const
|
||||
{
|
||||
if (m_isIdentity && mat.m_isIdentity)
|
||||
return true;
|
||||
|
||||
int i, j;
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
for (j = 0; j < 3; j++)
|
||||
{
|
||||
if ( !wxIsSameDouble(m_matrix[i][j], mat.m_matrix[i][j]) )
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool wxTransformMatrix::operator != (const wxTransformMatrix& mat) const
|
||||
{
|
||||
return (! ((*this) == mat));
|
||||
}
|
||||
|
||||
double& wxTransformMatrix::operator()(int col, int row)
|
||||
{
|
||||
if (row < 0 || row > 2 || col < 0 || col > 2)
|
||||
return m_matrix[0][0];
|
||||
|
||||
return m_matrix[col][row];
|
||||
}
|
||||
|
||||
double wxTransformMatrix::operator()(int col, int row) const
|
||||
{
|
||||
if (row < 0 || row > 2 || col < 0 || col > 2)
|
||||
return 0.0;
|
||||
|
||||
return m_matrix[col][row];
|
||||
}
|
||||
|
||||
// Invert matrix
|
||||
bool wxTransformMatrix::Invert()
|
||||
{
|
||||
double inverseMatrix[3][3];
|
||||
|
||||
// calculate the adjoint
|
||||
inverseMatrix[0][0] = wxCalculateDet(m_matrix[1][1],m_matrix[2][1],m_matrix[1][2],m_matrix[2][2]);
|
||||
inverseMatrix[0][1] = -wxCalculateDet(m_matrix[0][1],m_matrix[2][1],m_matrix[0][2],m_matrix[2][2]);
|
||||
inverseMatrix[0][2] = wxCalculateDet(m_matrix[0][1],m_matrix[1][1],m_matrix[0][2],m_matrix[1][2]);
|
||||
|
||||
inverseMatrix[1][0] = -wxCalculateDet(m_matrix[1][0],m_matrix[2][0],m_matrix[1][2],m_matrix[2][2]);
|
||||
inverseMatrix[1][1] = wxCalculateDet(m_matrix[0][0],m_matrix[2][0],m_matrix[0][2],m_matrix[2][2]);
|
||||
inverseMatrix[1][2] = -wxCalculateDet(m_matrix[0][0],m_matrix[1][0],m_matrix[0][2],m_matrix[1][2]);
|
||||
|
||||
inverseMatrix[2][0] = wxCalculateDet(m_matrix[1][0],m_matrix[2][0],m_matrix[1][1],m_matrix[2][1]);
|
||||
inverseMatrix[2][1] = -wxCalculateDet(m_matrix[0][0],m_matrix[2][0],m_matrix[0][1],m_matrix[2][1]);
|
||||
inverseMatrix[2][2] = wxCalculateDet(m_matrix[0][0],m_matrix[1][0],m_matrix[0][1],m_matrix[1][1]);
|
||||
|
||||
// now divide by the determinant
|
||||
double det = m_matrix[0][0] * inverseMatrix[0][0] + m_matrix[0][1] * inverseMatrix[1][0] + m_matrix[0][2] * inverseMatrix[2][0];
|
||||
if ( wxIsNullDouble(det) )
|
||||
return false;
|
||||
|
||||
inverseMatrix[0][0] /= det; inverseMatrix[1][0] /= det; inverseMatrix[2][0] /= det;
|
||||
inverseMatrix[0][1] /= det; inverseMatrix[1][1] /= det; inverseMatrix[2][1] /= det;
|
||||
inverseMatrix[0][2] /= det; inverseMatrix[1][2] /= det; inverseMatrix[2][2] /= det;
|
||||
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
for (int j = 0; j < 3; j++)
|
||||
{
|
||||
m_matrix[i][j] = inverseMatrix[i][j];
|
||||
}
|
||||
}
|
||||
m_isIdentity = IsIdentity1();
|
||||
return true;
|
||||
}
|
||||
|
||||
// Make into identity matrix
|
||||
bool wxTransformMatrix::Identity()
|
||||
{
|
||||
m_matrix[0][0] = m_matrix[1][1] = m_matrix[2][2] = 1.0;
|
||||
m_matrix[1][0] = m_matrix[2][0] = m_matrix[0][1] = m_matrix[2][1] = m_matrix[0][2] = m_matrix[1][2] = 0.0;
|
||||
m_isIdentity = true;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// Scale by scale (isotropic scaling i.e. the same in x and y):
|
||||
// | scale 0 0 |
|
||||
// matrix' = | 0 scale 0 | x matrix
|
||||
// | 0 0 scale |
|
||||
//
|
||||
bool wxTransformMatrix::Scale(double scale)
|
||||
{
|
||||
int i, j;
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
for (j = 0; j < 3; j++)
|
||||
{
|
||||
m_matrix[i][j] *= scale;
|
||||
}
|
||||
}
|
||||
m_isIdentity = IsIdentity1();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
// scale a matrix in 2D
|
||||
//
|
||||
// xs 0 xc(1-xs)
|
||||
// 0 ys yc(1-ys)
|
||||
// 0 0 1
|
||||
//
|
||||
wxTransformMatrix& wxTransformMatrix::Scale(const double &xs, const double &ys,const double &xc, const double &yc)
|
||||
{
|
||||
double r00,r10,r20,r01,r11,r21;
|
||||
|
||||
if (m_isIdentity)
|
||||
{
|
||||
double tx = xc*(1-xs);
|
||||
double ty = yc*(1-ys);
|
||||
r00 = xs;
|
||||
r10 = 0;
|
||||
r20 = tx;
|
||||
r01 = 0;
|
||||
r11 = ys;
|
||||
r21 = ty;
|
||||
}
|
||||
else if ( !wxIsNullDouble(xc) || !wxIsNullDouble(yc) )
|
||||
{
|
||||
double tx = xc*(1-xs);
|
||||
double ty = yc*(1-ys);
|
||||
r00 = xs * m_matrix[0][0];
|
||||
r10 = xs * m_matrix[1][0];
|
||||
r20 = xs * m_matrix[2][0] + tx;
|
||||
r01 = ys * m_matrix[0][1];
|
||||
r11 = ys * m_matrix[1][1];
|
||||
r21 = ys * m_matrix[2][1] + ty;
|
||||
}
|
||||
else
|
||||
{
|
||||
r00 = xs * m_matrix[0][0];
|
||||
r10 = xs * m_matrix[1][0];
|
||||
r20 = xs * m_matrix[2][0];
|
||||
r01 = ys * m_matrix[0][1];
|
||||
r11 = ys * m_matrix[1][1];
|
||||
r21 = ys * m_matrix[2][1];
|
||||
}
|
||||
|
||||
m_matrix[0][0] = r00;
|
||||
m_matrix[1][0] = r10;
|
||||
m_matrix[2][0] = r20;
|
||||
m_matrix[0][1] = r01;
|
||||
m_matrix[1][1] = r11;
|
||||
m_matrix[2][1] = r21;
|
||||
|
||||
/* or like this
|
||||
// first translate to origin O
|
||||
(*this).Translate(-x_cen, -y_cen);
|
||||
|
||||
// now do the scaling
|
||||
wxTransformMatrix scale;
|
||||
scale.m_matrix[0][0] = x_fac;
|
||||
scale.m_matrix[1][1] = y_fac;
|
||||
scale.m_isIdentity = IsIdentity1();
|
||||
|
||||
*this = scale * (*this);
|
||||
|
||||
// translate back from origin to x_cen, y_cen
|
||||
(*this).Translate(x_cen, y_cen);
|
||||
*/
|
||||
|
||||
m_isIdentity = IsIdentity1();
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
// mirror a matrix in x, y
|
||||
//
|
||||
// -1 0 0 Y-mirror
|
||||
// 0 -1 0 X-mirror
|
||||
// 0 0 -1 Z-mirror
|
||||
wxTransformMatrix& wxTransformMatrix::Mirror(bool x, bool y)
|
||||
{
|
||||
wxTransformMatrix temp;
|
||||
if (x)
|
||||
{
|
||||
temp.m_matrix[1][1] = -1;
|
||||
temp.m_isIdentity=false;
|
||||
}
|
||||
if (y)
|
||||
{
|
||||
temp.m_matrix[0][0] = -1;
|
||||
temp.m_isIdentity=false;
|
||||
}
|
||||
|
||||
*this = temp * (*this);
|
||||
m_isIdentity = IsIdentity1();
|
||||
return *this;
|
||||
}
|
||||
|
||||
// Translate by dx, dy:
|
||||
// | 1 0 dx |
|
||||
// matrix' = | 0 1 dy | x matrix
|
||||
// | 0 0 1 |
|
||||
//
|
||||
bool wxTransformMatrix::Translate(double dx, double dy)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < 3; i++)
|
||||
m_matrix[i][0] += dx * m_matrix[i][2];
|
||||
for (i = 0; i < 3; i++)
|
||||
m_matrix[i][1] += dy * m_matrix[i][2];
|
||||
|
||||
m_isIdentity = IsIdentity1();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// Rotate clockwise by the given number of degrees:
|
||||
// | cos sin 0 |
|
||||
// matrix' = | -sin cos 0 | x matrix
|
||||
// | 0 0 1 |
|
||||
bool wxTransformMatrix::Rotate(double degrees)
|
||||
{
|
||||
Rotate(-degrees,0,0);
|
||||
return true;
|
||||
}
|
||||
|
||||
// counter clockwise rotate around a point
|
||||
//
|
||||
// cos(r) -sin(r) x(1-cos(r))+y(sin(r)
|
||||
// sin(r) cos(r) y(1-cos(r))-x(sin(r)
|
||||
// 0 0 1
|
||||
wxTransformMatrix& wxTransformMatrix::Rotate(const double °rees, const double &x, const double &y)
|
||||
{
|
||||
double angle = degrees * pi / 180.0;
|
||||
double c = cos(angle);
|
||||
double s = sin(angle);
|
||||
double r00,r10,r20,r01,r11,r21;
|
||||
|
||||
if (m_isIdentity)
|
||||
{
|
||||
double tx = x*(1-c)+y*s;
|
||||
double ty = y*(1-c)-x*s;
|
||||
r00 = c ;
|
||||
r10 = -s;
|
||||
r20 = tx;
|
||||
r01 = s;
|
||||
r11 = c;
|
||||
r21 = ty;
|
||||
}
|
||||
else if ( !wxIsNullDouble(x) || !wxIsNullDouble(y) )
|
||||
{
|
||||
double tx = x*(1-c)+y*s;
|
||||
double ty = y*(1-c)-x*s;
|
||||
r00 = c * m_matrix[0][0] - s * m_matrix[0][1] + tx * m_matrix[0][2];
|
||||
r10 = c * m_matrix[1][0] - s * m_matrix[1][1] + tx * m_matrix[1][2];
|
||||
r20 = c * m_matrix[2][0] - s * m_matrix[2][1] + tx;// * m_matrix[2][2];
|
||||
r01 = c * m_matrix[0][1] + s * m_matrix[0][0] + ty * m_matrix[0][2];
|
||||
r11 = c * m_matrix[1][1] + s * m_matrix[1][0] + ty * m_matrix[1][2];
|
||||
r21 = c * m_matrix[2][1] + s * m_matrix[2][0] + ty;// * m_matrix[2][2];
|
||||
}
|
||||
else
|
||||
{
|
||||
r00 = c * m_matrix[0][0] - s * m_matrix[0][1];
|
||||
r10 = c * m_matrix[1][0] - s * m_matrix[1][1];
|
||||
r20 = c * m_matrix[2][0] - s * m_matrix[2][1];
|
||||
r01 = c * m_matrix[0][1] + s * m_matrix[0][0];
|
||||
r11 = c * m_matrix[1][1] + s * m_matrix[1][0];
|
||||
r21 = c * m_matrix[2][1] + s * m_matrix[2][0];
|
||||
}
|
||||
|
||||
m_matrix[0][0] = r00;
|
||||
m_matrix[1][0] = r10;
|
||||
m_matrix[2][0] = r20;
|
||||
m_matrix[0][1] = r01;
|
||||
m_matrix[1][1] = r11;
|
||||
m_matrix[2][1] = r21;
|
||||
|
||||
/* or like this
|
||||
wxTransformMatrix rotate;
|
||||
rotate.m_matrix[2][0] = tx;
|
||||
rotate.m_matrix[2][1] = ty;
|
||||
|
||||
rotate.m_matrix[0][0] = c;
|
||||
rotate.m_matrix[0][1] = s;
|
||||
|
||||
rotate.m_matrix[1][0] = -s;
|
||||
rotate.m_matrix[1][1] = c;
|
||||
|
||||
rotate.m_isIdentity=false;
|
||||
*this = rotate * (*this);
|
||||
*/
|
||||
m_isIdentity = IsIdentity1();
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
// Transform a point from logical to device coordinates
|
||||
bool wxTransformMatrix::TransformPoint(double x, double y, double& tx, double& ty) const
|
||||
{
|
||||
if (IsIdentity())
|
||||
{
|
||||
tx = x; ty = y; return true;
|
||||
}
|
||||
|
||||
tx = x * m_matrix[0][0] + y * m_matrix[1][0] + m_matrix[2][0];
|
||||
ty = x * m_matrix[0][1] + y * m_matrix[1][1] + m_matrix[2][1];
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// Transform a point from device to logical coordinates.
|
||||
|
||||
// Example of use:
|
||||
// wxTransformMatrix mat = dc.GetTransformation();
|
||||
// mat.Invert();
|
||||
// mat.InverseTransformPoint(x, y, x1, y1);
|
||||
// OR (shorthand:)
|
||||
// dc.LogicalToDevice(x, y, x1, y1);
|
||||
// The latter is slightly less efficient if we're doing several
|
||||
// conversions, since the matrix is inverted several times.
|
||||
bool wxTransformMatrix::InverseTransformPoint(double x, double y, double& tx, double& ty) const
|
||||
{
|
||||
if (IsIdentity())
|
||||
{
|
||||
tx = x;
|
||||
ty = y;
|
||||
return true;
|
||||
}
|
||||
|
||||
const double z = (1.0 - m_matrix[0][2] * x - m_matrix[1][2] * y) / m_matrix[2][2];
|
||||
if ( wxIsNullDouble(z) )
|
||||
return false;
|
||||
|
||||
tx = x * m_matrix[0][0] + y * m_matrix[1][0] + z * m_matrix[2][0];
|
||||
ty = x * m_matrix[0][1] + y * m_matrix[1][1] + z * m_matrix[2][1];
|
||||
return true;
|
||||
}
|
||||
|
||||
wxTransformMatrix& wxTransformMatrix::operator*=(const double& t)
|
||||
{
|
||||
for (int i = 0; i < 3; i++)
|
||||
for (int j = 0; j < 3; j++)
|
||||
m_matrix[i][j]*= t;
|
||||
m_isIdentity = IsIdentity1();
|
||||
return *this;
|
||||
}
|
||||
|
||||
wxTransformMatrix& wxTransformMatrix::operator/=(const double& t)
|
||||
{
|
||||
for (int i = 0; i < 3; i++)
|
||||
for (int j = 0; j < 3; j++)
|
||||
m_matrix[i][j]/= t;
|
||||
m_isIdentity = IsIdentity1();
|
||||
return *this;
|
||||
}
|
||||
|
||||
wxTransformMatrix& wxTransformMatrix::operator+=(const wxTransformMatrix& mat)
|
||||
{
|
||||
for (int i = 0; i < 3; i++)
|
||||
for (int j = 0; j < 3; j++)
|
||||
m_matrix[i][j] += mat.m_matrix[i][j];
|
||||
m_isIdentity = IsIdentity1();
|
||||
return *this;
|
||||
}
|
||||
|
||||
wxTransformMatrix& wxTransformMatrix::operator-=(const wxTransformMatrix& mat)
|
||||
{
|
||||
for (int i = 0; i < 3; i++)
|
||||
for (int j = 0; j < 3; j++)
|
||||
m_matrix[i][j] -= mat.m_matrix[i][j];
|
||||
m_isIdentity = IsIdentity1();
|
||||
return *this;
|
||||
}
|
||||
|
||||
wxTransformMatrix& wxTransformMatrix::operator*=(const wxTransformMatrix& mat)
|
||||
{
|
||||
|
||||
if (mat.m_isIdentity)
|
||||
return *this;
|
||||
if (m_isIdentity)
|
||||
{
|
||||
*this = mat;
|
||||
return *this;
|
||||
}
|
||||
else
|
||||
{
|
||||
wxTransformMatrix result;
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
for (int j = 0; j < 3; j++)
|
||||
{
|
||||
double sum = 0;
|
||||
for (int k = 0; k < 3; k++)
|
||||
sum += m_matrix[k][i] * mat.m_matrix[j][k];
|
||||
result.m_matrix[j][i] = sum;
|
||||
}
|
||||
}
|
||||
*this = result;
|
||||
}
|
||||
|
||||
m_isIdentity = IsIdentity1();
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
// constant operators
|
||||
wxTransformMatrix wxTransformMatrix::operator*(const double& t) const
|
||||
{
|
||||
wxTransformMatrix result = *this;
|
||||
result *= t;
|
||||
result.m_isIdentity = result.IsIdentity1();
|
||||
return result;
|
||||
}
|
||||
|
||||
wxTransformMatrix wxTransformMatrix::operator/(const double& t) const
|
||||
{
|
||||
wxTransformMatrix result = *this;
|
||||
// wxASSERT(t!=0);
|
||||
result /= t;
|
||||
result.m_isIdentity = result.IsIdentity1();
|
||||
return result;
|
||||
}
|
||||
|
||||
wxTransformMatrix wxTransformMatrix::operator+(const wxTransformMatrix& m) const
|
||||
{
|
||||
wxTransformMatrix result = *this;
|
||||
result += m;
|
||||
result.m_isIdentity = result.IsIdentity1();
|
||||
return result;
|
||||
}
|
||||
|
||||
wxTransformMatrix wxTransformMatrix::operator-(const wxTransformMatrix& m) const
|
||||
{
|
||||
wxTransformMatrix result = *this;
|
||||
result -= m;
|
||||
result.m_isIdentity = result.IsIdentity1();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
wxTransformMatrix wxTransformMatrix::operator*(const wxTransformMatrix& m) const
|
||||
{
|
||||
wxTransformMatrix result = *this;
|
||||
result *= m;
|
||||
result.m_isIdentity = result.IsIdentity1();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
wxTransformMatrix wxTransformMatrix::operator-() const
|
||||
{
|
||||
wxTransformMatrix result = *this;
|
||||
for (int i = 0; i < 3; i++)
|
||||
for (int j = 0; j < 3; j++)
|
||||
result.m_matrix[i][j] = -(this->m_matrix[i][j]);
|
||||
result.m_isIdentity = result.IsIdentity1();
|
||||
return result;
|
||||
}
|
||||
|
||||
static double CheckInt(double getal)
|
||||
{
|
||||
// check if the number is very close to an integer
|
||||
if ( (ceil(getal) - getal) < 0.0001)
|
||||
return ceil(getal);
|
||||
|
||||
else if ( (getal - floor(getal)) < 0.0001)
|
||||
return floor(getal);
|
||||
|
||||
return getal;
|
||||
|
||||
}
|
||||
|
||||
double wxTransformMatrix::Get_scaleX()
|
||||
{
|
||||
double scale_factor;
|
||||
double rot_angle = CheckInt(atan2(m_matrix[1][0],m_matrix[0][0])*180/pi);
|
||||
if ( !wxIsSameDouble(rot_angle, 90) && !wxIsSameDouble(rot_angle, -90) )
|
||||
scale_factor = m_matrix[0][0]/cos((rot_angle/180)*pi);
|
||||
else
|
||||
scale_factor = m_matrix[0][0]/sin((rot_angle/180)*pi); // er kan nl. niet door 0 gedeeld worden !
|
||||
|
||||
scale_factor = CheckInt(scale_factor);
|
||||
if (scale_factor < 0)
|
||||
scale_factor = -scale_factor;
|
||||
|
||||
return scale_factor;
|
||||
}
|
||||
|
||||
double wxTransformMatrix::Get_scaleY()
|
||||
{
|
||||
double scale_factor;
|
||||
double rot_angle = CheckInt(atan2(m_matrix[1][0],m_matrix[0][0])*180/pi);
|
||||
if ( !wxIsSameDouble(rot_angle, 90) && !wxIsSameDouble(rot_angle, -90) )
|
||||
scale_factor = m_matrix[1][1]/cos((rot_angle/180)*pi);
|
||||
else
|
||||
scale_factor = m_matrix[1][1]/sin((rot_angle/180)*pi); // er kan nl. niet door 0 gedeeld worden !
|
||||
|
||||
scale_factor = CheckInt(scale_factor);
|
||||
if (scale_factor < 0)
|
||||
|
||||
scale_factor = -scale_factor;
|
||||
|
||||
return scale_factor;
|
||||
|
||||
}
|
||||
|
||||
double wxTransformMatrix::GetRotation()
|
||||
{
|
||||
double temp1 = GetValue(0,0); // for angle calculation
|
||||
double temp2 = GetValue(0,1); //
|
||||
|
||||
// Rotation
|
||||
double rot_angle = atan2(temp2,temp1)*180/pi;
|
||||
|
||||
rot_angle = CheckInt(rot_angle);
|
||||
return rot_angle;
|
||||
}
|
||||
|
||||
void wxTransformMatrix::SetRotation(double rotation)
|
||||
{
|
||||
double x=GetValue(2,0);
|
||||
double y=GetValue(2,1);
|
||||
Rotate(-GetRotation(), x, y);
|
||||
Rotate(rotation, x, y);
|
||||
}
|
@ -217,6 +217,7 @@
|
||||
#include <wx/longlong.h>
|
||||
#include <wx/lzmastream.h>
|
||||
#include <wx/math.h>
|
||||
#include <wx/matrix.h>
|
||||
#include <wx/mdi.h>
|
||||
#include <wx/mediactrl.h>
|
||||
#include <wx/memconf.h>
|
||||
|
Loading…
Reference in New Issue
Block a user