diff --git a/Makefile.in b/Makefile.in index 073ae2ebef..ce7fc8ac94 100644 --- a/Makefile.in +++ b/Makefile.in @@ -4814,6 +4814,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS = \ monodll_tbarbase.o \ monodll_textcmn.o \ monodll_textentrycmn.o \ + monodll_textmeasurecmn.o \ monodll_toplvcmn.o \ monodll_treebase.o \ monodll_uiactioncmn.o \ @@ -5031,6 +5032,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS = \ monodll_tbarbase.o \ monodll_textcmn.o \ monodll_textentrycmn.o \ + monodll_textmeasurecmn.o \ monodll_toplvcmn.o \ monodll_treebase.o \ monodll_uiactioncmn.o \ @@ -5086,6 +5088,7 @@ COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS = \ monodll_generic_icon.o \ monodll_generic_imaglist.o \ monodll_mask.o \ + monodll_generic_textmeasure.o \ monodll_dfb_app.o \ monodll_dfb_bitmap.o \ monodll_dfb_brush.o \ @@ -5119,6 +5122,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS = \ monodll_utilsx11.o \ monodll_generic_icon.o \ monodll_paletteg.o \ + monodll_generic_textmeasure.o \ monodll_gtk1_app.o \ monodll_gtk1_bitmap.o \ monodll_gtk1_brush.o \ @@ -5176,6 +5180,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS = \ monodll_gtk_region.o \ monodll_gtk_renderer.o \ monodll_gtk_settings.o \ + monodll_gtk_textmeasure.o \ monodll_gtk_timer.o \ monodll_gtk_tooltip.o \ monodll_gtk_toplevel.o \ @@ -5213,6 +5218,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_3___LOWLEVEL_SRC_OBJECTS = \ monodll_gtk_region.o \ monodll_gtk_renderer.o \ monodll_gtk_settings.o \ + monodll_gtk_textmeasure.o \ monodll_gtk_timer.o \ monodll_gtk_tooltip.o \ monodll_gtk_toplevel.o \ @@ -5229,6 +5235,7 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS = \ monodll_unix_fontutil.o \ monodll_uiactionx11.o \ monodll_utilsx11.o \ + monodll_generic_textmeasure.o \ monodll_x11_bitmap.o \ monodll_x11_brush.o \ monodll_x11_palette.o \ @@ -5279,6 +5286,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS = \ monodll_msw_region.o \ monodll_msw_renderer.o \ monodll_msw_settings.o \ + monodll_msw_textmeasure.o \ monodll_msw_tooltip.o \ monodll_msw_toplevel.o \ monodll_uiaction.o \ @@ -5341,6 +5349,7 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS = \ monodll_msw_region.o \ monodll_msw_renderer.o \ monodll_msw_settings.o \ + monodll_msw_textmeasure.o \ monodll_msw_tooltip.o \ monodll_msw_toplevel.o \ monodll_uiaction.o \ @@ -5359,6 +5368,7 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS = \ monodll_uiactionx11.o \ monodll_utilsx11.o \ monodll_generic_icon.o \ + monodll_generic_textmeasure.o \ monodll_generic_timer.o \ monodll_x11_app.o \ monodll_x11_bitmap.o \ @@ -5476,7 +5486,8 @@ COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS = \ monodll_generic_listctrl.o \ monodll_paletteg.o \ monodll_regiong.o \ - monodll_generic_statusbr.o + monodll_generic_statusbr.o \ + monodll_generic_textmeasure.o @COND_TOOLKIT_COCOA@__GUI_SRC_OBJECTS = $(COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS) COND_TOOLKIT_GTK_TOOLKIT_VERSION____GUI_SRC_OBJECTS = \ monodll_generic_accel.o \ @@ -5871,6 +5882,7 @@ COND_TOOLKIT_PM___GUI_SRC_OBJECTS = \ monodll_mdig.o \ monodll_prntdlgg.o \ monodll_generic_statusbr.o \ + monodll_generic_textmeasure.o \ monodll_os2_accel.o \ monodll_os2_app.o \ monodll_os2_bitmap.o \ @@ -6024,6 +6036,7 @@ COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_1 = \ monodll_generic_icon.o \ monodll_generic_imaglist.o \ monodll_mask.o \ + monodll_generic_textmeasure.o \ monodll_dfb_app.o \ monodll_dfb_bitmap.o \ monodll_dfb_brush.o \ @@ -6057,6 +6070,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_1 = \ monodll_utilsx11.o \ monodll_generic_icon.o \ monodll_paletteg.o \ + monodll_generic_textmeasure.o \ monodll_gtk1_app.o \ monodll_gtk1_bitmap.o \ monodll_gtk1_brush.o \ @@ -6114,6 +6128,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_1 = \ monodll_gtk_region.o \ monodll_gtk_renderer.o \ monodll_gtk_settings.o \ + monodll_gtk_textmeasure.o \ monodll_gtk_timer.o \ monodll_gtk_tooltip.o \ monodll_gtk_toplevel.o \ @@ -6151,6 +6166,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_3___LOWLEVEL_SRC_OBJECTS_1 = \ monodll_gtk_region.o \ monodll_gtk_renderer.o \ monodll_gtk_settings.o \ + monodll_gtk_textmeasure.o \ monodll_gtk_timer.o \ monodll_gtk_tooltip.o \ monodll_gtk_toplevel.o \ @@ -6167,6 +6183,7 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_1 = \ monodll_unix_fontutil.o \ monodll_uiactionx11.o \ monodll_utilsx11.o \ + monodll_generic_textmeasure.o \ monodll_x11_bitmap.o \ monodll_x11_brush.o \ monodll_x11_palette.o \ @@ -6217,6 +6234,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_1 = \ monodll_msw_region.o \ monodll_msw_renderer.o \ monodll_msw_settings.o \ + monodll_msw_textmeasure.o \ monodll_msw_tooltip.o \ monodll_msw_toplevel.o \ monodll_uiaction.o \ @@ -6279,6 +6297,7 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_1 = \ monodll_msw_region.o \ monodll_msw_renderer.o \ monodll_msw_settings.o \ + monodll_msw_textmeasure.o \ monodll_msw_tooltip.o \ monodll_msw_toplevel.o \ monodll_uiaction.o \ @@ -6297,6 +6316,7 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_1 = \ monodll_uiactionx11.o \ monodll_utilsx11.o \ monodll_generic_icon.o \ + monodll_generic_textmeasure.o \ monodll_generic_timer.o \ monodll_x11_app.o \ monodll_x11_bitmap.o \ @@ -7024,6 +7044,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_1 = \ monolib_tbarbase.o \ monolib_textcmn.o \ monolib_textentrycmn.o \ + monolib_textmeasurecmn.o \ monolib_toplvcmn.o \ monolib_treebase.o \ monolib_uiactioncmn.o \ @@ -7241,6 +7262,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_1 = \ monolib_tbarbase.o \ monolib_textcmn.o \ monolib_textentrycmn.o \ + monolib_textmeasurecmn.o \ monolib_toplvcmn.o \ monolib_treebase.o \ monolib_uiactioncmn.o \ @@ -7296,6 +7318,7 @@ COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_2 = \ monolib_generic_icon.o \ monolib_generic_imaglist.o \ monolib_mask.o \ + monolib_generic_textmeasure.o \ monolib_dfb_app.o \ monolib_dfb_bitmap.o \ monolib_dfb_brush.o \ @@ -7329,6 +7352,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_2 = \ monolib_utilsx11.o \ monolib_generic_icon.o \ monolib_paletteg.o \ + monolib_generic_textmeasure.o \ monolib_gtk1_app.o \ monolib_gtk1_bitmap.o \ monolib_gtk1_brush.o \ @@ -7386,6 +7410,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_2 = \ monolib_gtk_region.o \ monolib_gtk_renderer.o \ monolib_gtk_settings.o \ + monolib_gtk_textmeasure.o \ monolib_gtk_timer.o \ monolib_gtk_tooltip.o \ monolib_gtk_toplevel.o \ @@ -7423,6 +7448,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_3___LOWLEVEL_SRC_OBJECTS_2 = \ monolib_gtk_region.o \ monolib_gtk_renderer.o \ monolib_gtk_settings.o \ + monolib_gtk_textmeasure.o \ monolib_gtk_timer.o \ monolib_gtk_tooltip.o \ monolib_gtk_toplevel.o \ @@ -7439,6 +7465,7 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_2 = \ monolib_unix_fontutil.o \ monolib_uiactionx11.o \ monolib_utilsx11.o \ + monolib_generic_textmeasure.o \ monolib_x11_bitmap.o \ monolib_x11_brush.o \ monolib_x11_palette.o \ @@ -7489,6 +7516,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_2 = \ monolib_msw_region.o \ monolib_msw_renderer.o \ monolib_msw_settings.o \ + monolib_msw_textmeasure.o \ monolib_msw_tooltip.o \ monolib_msw_toplevel.o \ monolib_uiaction.o \ @@ -7551,6 +7579,7 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_2 = \ monolib_msw_region.o \ monolib_msw_renderer.o \ monolib_msw_settings.o \ + monolib_msw_textmeasure.o \ monolib_msw_tooltip.o \ monolib_msw_toplevel.o \ monolib_uiaction.o \ @@ -7569,6 +7598,7 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_2 = \ monolib_uiactionx11.o \ monolib_utilsx11.o \ monolib_generic_icon.o \ + monolib_generic_textmeasure.o \ monolib_generic_timer.o \ monolib_x11_app.o \ monolib_x11_bitmap.o \ @@ -7686,7 +7716,8 @@ COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS_1 = \ monolib_generic_listctrl.o \ monolib_paletteg.o \ monolib_regiong.o \ - monolib_generic_statusbr.o + monolib_generic_statusbr.o \ + monolib_generic_textmeasure.o @COND_TOOLKIT_COCOA@__GUI_SRC_OBJECTS_1 = $(COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS_1) COND_TOOLKIT_GTK_TOOLKIT_VERSION____GUI_SRC_OBJECTS_1 = \ monolib_generic_accel.o \ @@ -8081,6 +8112,7 @@ COND_TOOLKIT_PM___GUI_SRC_OBJECTS_1 = \ monolib_mdig.o \ monolib_prntdlgg.o \ monolib_generic_statusbr.o \ + monolib_generic_textmeasure.o \ monolib_os2_accel.o \ monolib_os2_app.o \ monolib_os2_bitmap.o \ @@ -8234,6 +8266,7 @@ COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_3 = \ monolib_generic_icon.o \ monolib_generic_imaglist.o \ monolib_mask.o \ + monolib_generic_textmeasure.o \ monolib_dfb_app.o \ monolib_dfb_bitmap.o \ monolib_dfb_brush.o \ @@ -8267,6 +8300,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_3 = \ monolib_utilsx11.o \ monolib_generic_icon.o \ monolib_paletteg.o \ + monolib_generic_textmeasure.o \ monolib_gtk1_app.o \ monolib_gtk1_bitmap.o \ monolib_gtk1_brush.o \ @@ -8324,6 +8358,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_3 = \ monolib_gtk_region.o \ monolib_gtk_renderer.o \ monolib_gtk_settings.o \ + monolib_gtk_textmeasure.o \ monolib_gtk_timer.o \ monolib_gtk_tooltip.o \ monolib_gtk_toplevel.o \ @@ -8361,6 +8396,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_3___LOWLEVEL_SRC_OBJECTS_3 = \ monolib_gtk_region.o \ monolib_gtk_renderer.o \ monolib_gtk_settings.o \ + monolib_gtk_textmeasure.o \ monolib_gtk_timer.o \ monolib_gtk_tooltip.o \ monolib_gtk_toplevel.o \ @@ -8377,6 +8413,7 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_3 = \ monolib_unix_fontutil.o \ monolib_uiactionx11.o \ monolib_utilsx11.o \ + monolib_generic_textmeasure.o \ monolib_x11_bitmap.o \ monolib_x11_brush.o \ monolib_x11_palette.o \ @@ -8427,6 +8464,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_3 = \ monolib_msw_region.o \ monolib_msw_renderer.o \ monolib_msw_settings.o \ + monolib_msw_textmeasure.o \ monolib_msw_tooltip.o \ monolib_msw_toplevel.o \ monolib_uiaction.o \ @@ -8489,6 +8527,7 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_3 = \ monolib_msw_region.o \ monolib_msw_renderer.o \ monolib_msw_settings.o \ + monolib_msw_textmeasure.o \ monolib_msw_tooltip.o \ monolib_msw_toplevel.o \ monolib_uiaction.o \ @@ -8507,6 +8546,7 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_3 = \ monolib_uiactionx11.o \ monolib_utilsx11.o \ monolib_generic_icon.o \ + monolib_generic_textmeasure.o \ monolib_generic_timer.o \ monolib_x11_app.o \ monolib_x11_bitmap.o \ @@ -9409,6 +9449,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_2 = \ coredll_tbarbase.o \ coredll_textcmn.o \ coredll_textentrycmn.o \ + coredll_textmeasurecmn.o \ coredll_toplvcmn.o \ coredll_treebase.o \ coredll_uiactioncmn.o \ @@ -9626,6 +9667,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_2 = \ coredll_tbarbase.o \ coredll_textcmn.o \ coredll_textentrycmn.o \ + coredll_textmeasurecmn.o \ coredll_toplvcmn.o \ coredll_treebase.o \ coredll_uiactioncmn.o \ @@ -9681,6 +9723,7 @@ COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_4 = \ coredll_generic_icon.o \ coredll_generic_imaglist.o \ coredll_mask.o \ + coredll_generic_textmeasure.o \ coredll_dfb_app.o \ coredll_dfb_bitmap.o \ coredll_dfb_brush.o \ @@ -9714,6 +9757,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_4 = \ coredll_utilsx11.o \ coredll_generic_icon.o \ coredll_paletteg.o \ + coredll_generic_textmeasure.o \ coredll_gtk1_app.o \ coredll_gtk1_bitmap.o \ coredll_gtk1_brush.o \ @@ -9771,6 +9815,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_4 = \ coredll_gtk_region.o \ coredll_gtk_renderer.o \ coredll_gtk_settings.o \ + coredll_gtk_textmeasure.o \ coredll_gtk_timer.o \ coredll_gtk_tooltip.o \ coredll_gtk_toplevel.o \ @@ -9808,6 +9853,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_3___LOWLEVEL_SRC_OBJECTS_4 = \ coredll_gtk_region.o \ coredll_gtk_renderer.o \ coredll_gtk_settings.o \ + coredll_gtk_textmeasure.o \ coredll_gtk_timer.o \ coredll_gtk_tooltip.o \ coredll_gtk_toplevel.o \ @@ -9824,6 +9870,7 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_4 = \ coredll_unix_fontutil.o \ coredll_uiactionx11.o \ coredll_utilsx11.o \ + coredll_generic_textmeasure.o \ coredll_x11_bitmap.o \ coredll_x11_brush.o \ coredll_x11_palette.o \ @@ -9874,6 +9921,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_4 = \ coredll_msw_region.o \ coredll_msw_renderer.o \ coredll_msw_settings.o \ + coredll_msw_textmeasure.o \ coredll_msw_tooltip.o \ coredll_msw_toplevel.o \ coredll_uiaction.o \ @@ -9936,6 +9984,7 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_4 = \ coredll_msw_region.o \ coredll_msw_renderer.o \ coredll_msw_settings.o \ + coredll_msw_textmeasure.o \ coredll_msw_tooltip.o \ coredll_msw_toplevel.o \ coredll_uiaction.o \ @@ -9954,6 +10003,7 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_4 = \ coredll_uiactionx11.o \ coredll_utilsx11.o \ coredll_generic_icon.o \ + coredll_generic_textmeasure.o \ coredll_generic_timer.o \ coredll_x11_app.o \ coredll_x11_bitmap.o \ @@ -10071,7 +10121,8 @@ COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS_2 = \ coredll_generic_listctrl.o \ coredll_paletteg.o \ coredll_regiong.o \ - coredll_generic_statusbr.o + coredll_generic_statusbr.o \ + coredll_generic_textmeasure.o @COND_TOOLKIT_COCOA@__GUI_SRC_OBJECTS_2 = $(COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS_2) COND_TOOLKIT_GTK_TOOLKIT_VERSION____GUI_SRC_OBJECTS_2 = \ coredll_generic_accel.o \ @@ -10466,6 +10517,7 @@ COND_TOOLKIT_PM___GUI_SRC_OBJECTS_2 = \ coredll_mdig.o \ coredll_prntdlgg.o \ coredll_generic_statusbr.o \ + coredll_generic_textmeasure.o \ coredll_os2_accel.o \ coredll_os2_app.o \ coredll_os2_bitmap.o \ @@ -10619,6 +10671,7 @@ COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_5 = \ coredll_generic_icon.o \ coredll_generic_imaglist.o \ coredll_mask.o \ + coredll_generic_textmeasure.o \ coredll_dfb_app.o \ coredll_dfb_bitmap.o \ coredll_dfb_brush.o \ @@ -10652,6 +10705,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_5 = \ coredll_utilsx11.o \ coredll_generic_icon.o \ coredll_paletteg.o \ + coredll_generic_textmeasure.o \ coredll_gtk1_app.o \ coredll_gtk1_bitmap.o \ coredll_gtk1_brush.o \ @@ -10709,6 +10763,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_5 = \ coredll_gtk_region.o \ coredll_gtk_renderer.o \ coredll_gtk_settings.o \ + coredll_gtk_textmeasure.o \ coredll_gtk_timer.o \ coredll_gtk_tooltip.o \ coredll_gtk_toplevel.o \ @@ -10746,6 +10801,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_3___LOWLEVEL_SRC_OBJECTS_5 = \ coredll_gtk_region.o \ coredll_gtk_renderer.o \ coredll_gtk_settings.o \ + coredll_gtk_textmeasure.o \ coredll_gtk_timer.o \ coredll_gtk_tooltip.o \ coredll_gtk_toplevel.o \ @@ -10762,6 +10818,7 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_5 = \ coredll_unix_fontutil.o \ coredll_uiactionx11.o \ coredll_utilsx11.o \ + coredll_generic_textmeasure.o \ coredll_x11_bitmap.o \ coredll_x11_brush.o \ coredll_x11_palette.o \ @@ -10812,6 +10869,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_5 = \ coredll_msw_region.o \ coredll_msw_renderer.o \ coredll_msw_settings.o \ + coredll_msw_textmeasure.o \ coredll_msw_tooltip.o \ coredll_msw_toplevel.o \ coredll_uiaction.o \ @@ -10874,6 +10932,7 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_5 = \ coredll_msw_region.o \ coredll_msw_renderer.o \ coredll_msw_settings.o \ + coredll_msw_textmeasure.o \ coredll_msw_tooltip.o \ coredll_msw_toplevel.o \ coredll_uiaction.o \ @@ -10892,6 +10951,7 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_5 = \ coredll_uiactionx11.o \ coredll_utilsx11.o \ coredll_generic_icon.o \ + coredll_generic_textmeasure.o \ coredll_generic_timer.o \ coredll_x11_app.o \ coredll_x11_bitmap.o \ @@ -11058,6 +11118,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_3 = \ corelib_tbarbase.o \ corelib_textcmn.o \ corelib_textentrycmn.o \ + corelib_textmeasurecmn.o \ corelib_toplvcmn.o \ corelib_treebase.o \ corelib_uiactioncmn.o \ @@ -11275,6 +11336,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_3 = \ corelib_tbarbase.o \ corelib_textcmn.o \ corelib_textentrycmn.o \ + corelib_textmeasurecmn.o \ corelib_toplvcmn.o \ corelib_treebase.o \ corelib_uiactioncmn.o \ @@ -11330,6 +11392,7 @@ COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_6 = \ corelib_generic_icon.o \ corelib_generic_imaglist.o \ corelib_mask.o \ + corelib_generic_textmeasure.o \ corelib_dfb_app.o \ corelib_dfb_bitmap.o \ corelib_dfb_brush.o \ @@ -11363,6 +11426,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_6 = \ corelib_utilsx11.o \ corelib_generic_icon.o \ corelib_paletteg.o \ + corelib_generic_textmeasure.o \ corelib_gtk1_app.o \ corelib_gtk1_bitmap.o \ corelib_gtk1_brush.o \ @@ -11420,6 +11484,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_6 = \ corelib_gtk_region.o \ corelib_gtk_renderer.o \ corelib_gtk_settings.o \ + corelib_gtk_textmeasure.o \ corelib_gtk_timer.o \ corelib_gtk_tooltip.o \ corelib_gtk_toplevel.o \ @@ -11457,6 +11522,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_3___LOWLEVEL_SRC_OBJECTS_6 = \ corelib_gtk_region.o \ corelib_gtk_renderer.o \ corelib_gtk_settings.o \ + corelib_gtk_textmeasure.o \ corelib_gtk_timer.o \ corelib_gtk_tooltip.o \ corelib_gtk_toplevel.o \ @@ -11473,6 +11539,7 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_6 = \ corelib_unix_fontutil.o \ corelib_uiactionx11.o \ corelib_utilsx11.o \ + corelib_generic_textmeasure.o \ corelib_x11_bitmap.o \ corelib_x11_brush.o \ corelib_x11_palette.o \ @@ -11523,6 +11590,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_6 = \ corelib_msw_region.o \ corelib_msw_renderer.o \ corelib_msw_settings.o \ + corelib_msw_textmeasure.o \ corelib_msw_tooltip.o \ corelib_msw_toplevel.o \ corelib_uiaction.o \ @@ -11585,6 +11653,7 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_6 = \ corelib_msw_region.o \ corelib_msw_renderer.o \ corelib_msw_settings.o \ + corelib_msw_textmeasure.o \ corelib_msw_tooltip.o \ corelib_msw_toplevel.o \ corelib_uiaction.o \ @@ -11603,6 +11672,7 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_6 = \ corelib_uiactionx11.o \ corelib_utilsx11.o \ corelib_generic_icon.o \ + corelib_generic_textmeasure.o \ corelib_generic_timer.o \ corelib_x11_app.o \ corelib_x11_bitmap.o \ @@ -11720,7 +11790,8 @@ COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS_3 = \ corelib_generic_listctrl.o \ corelib_paletteg.o \ corelib_regiong.o \ - corelib_generic_statusbr.o + corelib_generic_statusbr.o \ + corelib_generic_textmeasure.o @COND_TOOLKIT_COCOA@__GUI_SRC_OBJECTS_3 = $(COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS_3) COND_TOOLKIT_GTK_TOOLKIT_VERSION____GUI_SRC_OBJECTS_3 = \ corelib_generic_accel.o \ @@ -12115,6 +12186,7 @@ COND_TOOLKIT_PM___GUI_SRC_OBJECTS_3 = \ corelib_mdig.o \ corelib_prntdlgg.o \ corelib_generic_statusbr.o \ + corelib_generic_textmeasure.o \ corelib_os2_accel.o \ corelib_os2_app.o \ corelib_os2_bitmap.o \ @@ -12268,6 +12340,7 @@ COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_7 = \ corelib_generic_icon.o \ corelib_generic_imaglist.o \ corelib_mask.o \ + corelib_generic_textmeasure.o \ corelib_dfb_app.o \ corelib_dfb_bitmap.o \ corelib_dfb_brush.o \ @@ -12301,6 +12374,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_7 = \ corelib_utilsx11.o \ corelib_generic_icon.o \ corelib_paletteg.o \ + corelib_generic_textmeasure.o \ corelib_gtk1_app.o \ corelib_gtk1_bitmap.o \ corelib_gtk1_brush.o \ @@ -12358,6 +12432,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_7 = \ corelib_gtk_region.o \ corelib_gtk_renderer.o \ corelib_gtk_settings.o \ + corelib_gtk_textmeasure.o \ corelib_gtk_timer.o \ corelib_gtk_tooltip.o \ corelib_gtk_toplevel.o \ @@ -12395,6 +12470,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_3___LOWLEVEL_SRC_OBJECTS_7 = \ corelib_gtk_region.o \ corelib_gtk_renderer.o \ corelib_gtk_settings.o \ + corelib_gtk_textmeasure.o \ corelib_gtk_timer.o \ corelib_gtk_tooltip.o \ corelib_gtk_toplevel.o \ @@ -12411,6 +12487,7 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_7 = \ corelib_unix_fontutil.o \ corelib_uiactionx11.o \ corelib_utilsx11.o \ + corelib_generic_textmeasure.o \ corelib_x11_bitmap.o \ corelib_x11_brush.o \ corelib_x11_palette.o \ @@ -12461,6 +12538,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_7 = \ corelib_msw_region.o \ corelib_msw_renderer.o \ corelib_msw_settings.o \ + corelib_msw_textmeasure.o \ corelib_msw_tooltip.o \ corelib_msw_toplevel.o \ corelib_uiaction.o \ @@ -12523,6 +12601,7 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_7 = \ corelib_msw_region.o \ corelib_msw_renderer.o \ corelib_msw_settings.o \ + corelib_msw_textmeasure.o \ corelib_msw_tooltip.o \ corelib_msw_toplevel.o \ corelib_uiaction.o \ @@ -12541,6 +12620,7 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_7 = \ corelib_uiactionx11.o \ corelib_utilsx11.o \ corelib_generic_icon.o \ + corelib_generic_textmeasure.o \ corelib_generic_timer.o \ corelib_x11_app.o \ corelib_x11_bitmap.o \ @@ -14432,7 +14512,8 @@ COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS = \ monodll_fontpickerg.o \ monodll_generic_listctrl.o \ monodll_prntdlgg.o \ - monodll_generic_statusbr.o + monodll_generic_statusbr.o \ + monodll_generic_textmeasure.o @COND_PLATFORM_MACOSX_1@__OSX_CARBON_COCOA_SRC_OBJECTS = $(COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS) COND_PLATFORM_MACOSX_1___GTK_PLATFORM_SRC_OBJECTS = \ monodll_generic_caret.o \ @@ -14561,7 +14642,8 @@ COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS_12 = \ monolib_fontpickerg.o \ monolib_generic_listctrl.o \ monolib_prntdlgg.o \ - monolib_generic_statusbr.o + monolib_generic_statusbr.o \ + monolib_generic_textmeasure.o @COND_PLATFORM_MACOSX_1@__OSX_CARBON_COCOA_SRC_OBJECTS_12 = $(COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS_12) COND_PLATFORM_MACOSX_1___GTK_PLATFORM_SRC_OBJECTS_17 = \ monolib_generic_caret.o \ @@ -14690,7 +14772,8 @@ COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS_14 = \ coredll_fontpickerg.o \ coredll_generic_listctrl.o \ coredll_prntdlgg.o \ - coredll_generic_statusbr.o + coredll_generic_statusbr.o \ + coredll_generic_textmeasure.o @COND_PLATFORM_MACOSX_1@__OSX_CARBON_COCOA_SRC_OBJECTS_14 = $(COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS_14) COND_PLATFORM_MACOSX_1___GTK_PLATFORM_SRC_OBJECTS_1_1 = \ coredll_generic_caret.o \ @@ -14807,7 +14890,8 @@ COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS_1_0 = \ corelib_fontpickerg.o \ corelib_generic_listctrl.o \ corelib_prntdlgg.o \ - corelib_generic_statusbr.o + corelib_generic_statusbr.o \ + corelib_generic_textmeasure.o @COND_PLATFORM_MACOSX_1@__OSX_CARBON_COCOA_SRC_OBJECTS_1_0 = $(COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS_1_0) COND_PLATFORM_MACOSX_1___GTK_PLATFORM_SRC_OBJECTS_1_4 = \ corelib_generic_caret.o \ @@ -19065,6 +19149,12 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monodll_gtk_settings.o: $(srcdir)/src/gtk/settings.cpp $(MONODLL_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk/settings.cpp +@COND_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@monodll_gtk_textmeasure.o: $(srcdir)/src/gtk/textmeasure.cpp $(MONODLL_ODEP) +@COND_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk/textmeasure.cpp + +@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monodll_gtk_textmeasure.o: $(srcdir)/src/gtk/textmeasure.cpp $(MONODLL_ODEP) +@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk/textmeasure.cpp + @COND_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@monodll_gtk_timer.o: $(srcdir)/src/gtk/timer.cpp $(MONODLL_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk/timer.cpp @@ -19110,6 +19200,33 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monodll_gtk_dcscreen.o: $(srcdir)/src/gtk/dcscreen.cpp $(MONODLL_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk/dcscreen.cpp +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@monodll_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(MONODLL_ODEP) +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@monodll_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(MONODLL_ODEP) +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@monodll_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(MONODLL_ODEP) +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@monodll_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(MONODLL_ODEP) +@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@monodll_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(MONODLL_ODEP) +@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monodll_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(MONODLL_ODEP) +@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_MOTIF_USE_GUI_1@monodll_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(MONODLL_ODEP) +@COND_TOOLKIT_MOTIF_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_X11_USE_GUI_1@monodll_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(MONODLL_ODEP) +@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_DFB_USE_GUI_1@monodll_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(MONODLL_ODEP) +@COND_TOOLKIT_DFB_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monodll_gtk1_app.o: $(srcdir)/src/gtk1/app.cpp $(MONODLL_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk1/app.cpp @@ -19485,6 +19602,12 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1@monodll_msw_settings.o: $(srcdir)/src/msw/settings.cpp $(MONODLL_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/settings.cpp +@COND_TOOLKIT_MSW_USE_GUI_1@monodll_msw_textmeasure.o: $(srcdir)/src/msw/textmeasure.cpp $(MONODLL_ODEP) +@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/textmeasure.cpp + +@COND_TOOLKIT_WINCE_USE_GUI_1@monodll_msw_textmeasure.o: $(srcdir)/src/msw/textmeasure.cpp $(MONODLL_ODEP) +@COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/textmeasure.cpp + @COND_TOOLKIT_MSW_USE_GUI_1@monodll_msw_tooltip.o: $(srcdir)/src/msw/tooltip.cpp $(MONODLL_ODEP) @COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/tooltip.cpp @@ -21690,6 +21813,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP) @COND_USE_GUI_1@monodll_textentrycmn.o: $(srcdir)/src/common/textentrycmn.cpp $(MONODLL_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/textentrycmn.cpp +@COND_USE_GUI_1@monodll_textmeasurecmn.o: $(srcdir)/src/common/textmeasurecmn.cpp $(MONODLL_ODEP) +@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/textmeasurecmn.cpp + @COND_USE_GUI_1@monodll_toplvcmn.o: $(srcdir)/src/common/toplvcmn.cpp $(MONODLL_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/toplvcmn.cpp @@ -24768,6 +24894,12 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monolib_gtk_settings.o: $(srcdir)/src/gtk/settings.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk/settings.cpp +@COND_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@monolib_gtk_textmeasure.o: $(srcdir)/src/gtk/textmeasure.cpp $(MONOLIB_ODEP) +@COND_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk/textmeasure.cpp + +@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monolib_gtk_textmeasure.o: $(srcdir)/src/gtk/textmeasure.cpp $(MONOLIB_ODEP) +@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk/textmeasure.cpp + @COND_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@monolib_gtk_timer.o: $(srcdir)/src/gtk/timer.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk/timer.cpp @@ -24813,6 +24945,33 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monolib_gtk_dcscreen.o: $(srcdir)/src/gtk/dcscreen.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk/dcscreen.cpp +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@monolib_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(MONOLIB_ODEP) +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@monolib_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(MONOLIB_ODEP) +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@monolib_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(MONOLIB_ODEP) +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@monolib_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(MONOLIB_ODEP) +@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@monolib_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(MONOLIB_ODEP) +@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monolib_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(MONOLIB_ODEP) +@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_MOTIF_USE_GUI_1@monolib_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(MONOLIB_ODEP) +@COND_TOOLKIT_MOTIF_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_X11_USE_GUI_1@monolib_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(MONOLIB_ODEP) +@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_DFB_USE_GUI_1@monolib_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(MONOLIB_ODEP) +@COND_TOOLKIT_DFB_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monolib_gtk1_app.o: $(srcdir)/src/gtk1/app.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk1/app.cpp @@ -25188,6 +25347,12 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1@monolib_msw_settings.o: $(srcdir)/src/msw/settings.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/settings.cpp +@COND_TOOLKIT_MSW_USE_GUI_1@monolib_msw_textmeasure.o: $(srcdir)/src/msw/textmeasure.cpp $(MONOLIB_ODEP) +@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/textmeasure.cpp + +@COND_TOOLKIT_WINCE_USE_GUI_1@monolib_msw_textmeasure.o: $(srcdir)/src/msw/textmeasure.cpp $(MONOLIB_ODEP) +@COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/textmeasure.cpp + @COND_TOOLKIT_MSW_USE_GUI_1@monolib_msw_tooltip.o: $(srcdir)/src/msw/tooltip.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/tooltip.cpp @@ -27393,6 +27558,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP) @COND_USE_GUI_1@monolib_textentrycmn.o: $(srcdir)/src/common/textentrycmn.cpp $(MONOLIB_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/textentrycmn.cpp +@COND_USE_GUI_1@monolib_textmeasurecmn.o: $(srcdir)/src/common/textmeasurecmn.cpp $(MONOLIB_ODEP) +@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/textmeasurecmn.cpp + @COND_USE_GUI_1@monolib_toplvcmn.o: $(srcdir)/src/common/toplvcmn.cpp $(MONOLIB_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/toplvcmn.cpp @@ -30636,6 +30804,12 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@coredll_gtk_settings.o: $(srcdir)/src/gtk/settings.cpp $(COREDLL_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/gtk/settings.cpp +@COND_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@coredll_gtk_textmeasure.o: $(srcdir)/src/gtk/textmeasure.cpp $(COREDLL_ODEP) +@COND_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/gtk/textmeasure.cpp + +@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@coredll_gtk_textmeasure.o: $(srcdir)/src/gtk/textmeasure.cpp $(COREDLL_ODEP) +@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/gtk/textmeasure.cpp + @COND_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@coredll_gtk_timer.o: $(srcdir)/src/gtk/timer.cpp $(COREDLL_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/gtk/timer.cpp @@ -30681,6 +30855,33 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@coredll_gtk_dcscreen.o: $(srcdir)/src/gtk/dcscreen.cpp $(COREDLL_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/gtk/dcscreen.cpp +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@coredll_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(COREDLL_ODEP) +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@coredll_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(COREDLL_ODEP) +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@coredll_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(COREDLL_ODEP) +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@coredll_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(COREDLL_ODEP) +@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@coredll_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(COREDLL_ODEP) +@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@coredll_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(COREDLL_ODEP) +@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_MOTIF_USE_GUI_1@coredll_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(COREDLL_ODEP) +@COND_TOOLKIT_MOTIF_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_X11_USE_GUI_1@coredll_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(COREDLL_ODEP) +@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_DFB_USE_GUI_1@coredll_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(COREDLL_ODEP) +@COND_TOOLKIT_DFB_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@coredll_gtk1_app.o: $(srcdir)/src/gtk1/app.cpp $(COREDLL_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/gtk1/app.cpp @@ -31056,6 +31257,12 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1@coredll_msw_settings.o: $(srcdir)/src/msw/settings.cpp $(COREDLL_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/settings.cpp +@COND_TOOLKIT_MSW_USE_GUI_1@coredll_msw_textmeasure.o: $(srcdir)/src/msw/textmeasure.cpp $(COREDLL_ODEP) +@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/textmeasure.cpp + +@COND_TOOLKIT_WINCE_USE_GUI_1@coredll_msw_textmeasure.o: $(srcdir)/src/msw/textmeasure.cpp $(COREDLL_ODEP) +@COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/textmeasure.cpp + @COND_TOOLKIT_MSW_USE_GUI_1@coredll_msw_tooltip.o: $(srcdir)/src/msw/tooltip.cpp $(COREDLL_ODEP) @COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/tooltip.cpp @@ -33261,6 +33468,9 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP) @COND_USE_GUI_1@coredll_textentrycmn.o: $(srcdir)/src/common/textentrycmn.cpp $(COREDLL_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/textentrycmn.cpp +@COND_USE_GUI_1@coredll_textmeasurecmn.o: $(srcdir)/src/common/textmeasurecmn.cpp $(COREDLL_ODEP) +@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/textmeasurecmn.cpp + @COND_USE_GUI_1@coredll_toplvcmn.o: $(srcdir)/src/common/toplvcmn.cpp $(COREDLL_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/toplvcmn.cpp @@ -34887,6 +35097,12 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@corelib_gtk_settings.o: $(srcdir)/src/gtk/settings.cpp $(CORELIB_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/gtk/settings.cpp +@COND_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@corelib_gtk_textmeasure.o: $(srcdir)/src/gtk/textmeasure.cpp $(CORELIB_ODEP) +@COND_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/gtk/textmeasure.cpp + +@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@corelib_gtk_textmeasure.o: $(srcdir)/src/gtk/textmeasure.cpp $(CORELIB_ODEP) +@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/gtk/textmeasure.cpp + @COND_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@corelib_gtk_timer.o: $(srcdir)/src/gtk/timer.cpp $(CORELIB_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/gtk/timer.cpp @@ -34932,6 +35148,33 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@corelib_gtk_dcscreen.o: $(srcdir)/src/gtk/dcscreen.cpp $(CORELIB_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/gtk/dcscreen.cpp +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@corelib_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(CORELIB_ODEP) +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@corelib_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(CORELIB_ODEP) +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@corelib_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(CORELIB_ODEP) +@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@corelib_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(CORELIB_ODEP) +@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@corelib_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(CORELIB_ODEP) +@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@corelib_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(CORELIB_ODEP) +@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_MOTIF_USE_GUI_1@corelib_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(CORELIB_ODEP) +@COND_TOOLKIT_MOTIF_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_X11_USE_GUI_1@corelib_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(CORELIB_ODEP) +@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + +@COND_TOOLKIT_DFB_USE_GUI_1@corelib_generic_textmeasure.o: $(srcdir)/src/generic/textmeasure.cpp $(CORELIB_ODEP) +@COND_TOOLKIT_DFB_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/textmeasure.cpp + @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@corelib_gtk1_app.o: $(srcdir)/src/gtk1/app.cpp $(CORELIB_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/gtk1/app.cpp @@ -35307,6 +35550,12 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1@corelib_msw_settings.o: $(srcdir)/src/msw/settings.cpp $(CORELIB_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/settings.cpp +@COND_TOOLKIT_MSW_USE_GUI_1@corelib_msw_textmeasure.o: $(srcdir)/src/msw/textmeasure.cpp $(CORELIB_ODEP) +@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/textmeasure.cpp + +@COND_TOOLKIT_WINCE_USE_GUI_1@corelib_msw_textmeasure.o: $(srcdir)/src/msw/textmeasure.cpp $(CORELIB_ODEP) +@COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/textmeasure.cpp + @COND_TOOLKIT_MSW_USE_GUI_1@corelib_msw_tooltip.o: $(srcdir)/src/msw/tooltip.cpp $(CORELIB_ODEP) @COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/tooltip.cpp @@ -37512,6 +37761,9 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP) @COND_USE_GUI_1@corelib_textentrycmn.o: $(srcdir)/src/common/textentrycmn.cpp $(CORELIB_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/textentrycmn.cpp +@COND_USE_GUI_1@corelib_textmeasurecmn.o: $(srcdir)/src/common/textmeasurecmn.cpp $(CORELIB_ODEP) +@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/textmeasurecmn.cpp + @COND_USE_GUI_1@corelib_toplvcmn.o: $(srcdir)/src/common/toplvcmn.cpp $(CORELIB_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/toplvcmn.cpp diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl index 2084242cf8..5a3bbffc34 100644 --- a/build/bakefiles/files.bkl +++ b/build/bakefiles/files.bkl @@ -737,6 +737,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/common/tbarbase.cpp src/common/textcmn.cpp src/common/textentrycmn.cpp + src/common/textmeasurecmn.cpp src/common/toplvcmn.cpp src/common/treebase.cpp src/common/uiactioncmn.cpp @@ -1082,6 +1083,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/gtk/region.cpp src/gtk/renderer.cpp src/gtk/settings.cpp + src/gtk/textmeasure.cpp src/gtk/timer.cpp src/gtk/tooltip.cpp src/gtk/toplevel.cpp @@ -1255,6 +1257,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! $(XWIN_LOWLEVEL_SRC) src/generic/icon.cpp src/generic/paletteg.cpp + src/generic/textmeasure.cpp src/gtk1/app.cpp src/gtk1/bitmap.cpp src/gtk1/brush.cpp @@ -1416,6 +1419,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! $(XWIN_LOWLEVEL_SRC) + src/generic/textmeasure.cpp src/x11/bitmap.cpp src/x11/brush.cpp src/x11/palette.cpp @@ -1581,6 +1585,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! $(XWIN_LOWLEVEL_SRC) src/generic/icon.cpp + src/generic/textmeasure.cpp src/generic/timer.cpp src/x11/app.cpp src/x11/bitmap.cpp @@ -1692,6 +1697,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/msw/region.cpp src/msw/renderer.cpp src/msw/settings.cpp + src/msw/textmeasure.cpp src/msw/tooltip.cpp src/msw/toplevel.cpp src/msw/uiaction.cpp @@ -1965,6 +1971,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/generic/icon.cpp src/generic/imaglist.cpp src/generic/mask.cpp + src/generic/textmeasure.cpp src/dfb/app.cpp src/dfb/bitmap.cpp src/dfb/brush.cpp @@ -2041,6 +2048,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/generic/mdig.cpp src/generic/prntdlgg.cpp src/generic/statusbr.cpp + src/generic/textmeasure.cpp src/os2/accel.cpp src/os2/app.cpp @@ -2316,6 +2324,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/generic/listctrl.cpp src/generic/prntdlgg.cpp src/generic/statusbr.cpp + src/generic/textmeasure.cpp @@ -2658,6 +2667,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/generic/paletteg.cpp src/generic/regiong.cpp src/generic/statusbr.cpp + src/generic/textmeasure.cpp wx/cocoa/NSApplication.h diff --git a/build/msw/makefile.bcc b/build/msw/makefile.bcc index e6fb7888a3..ab39f43537 100644 --- a/build/msw/makefile.bcc +++ b/build/msw/makefile.bcc @@ -1796,6 +1796,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_region.obj \ $(OBJS)\monodll_renderer.obj \ $(OBJS)\monodll_settings.obj \ + $(OBJS)\monodll_textmeasure.obj \ $(OBJS)\monodll_tooltip.obj \ $(OBJS)\monodll_toplevel.obj \ $(OBJS)\monodll_uiaction.obj \ @@ -1981,6 +1982,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_tbarbase.obj \ $(OBJS)\monodll_textcmn.obj \ $(OBJS)\monodll_textentrycmn.obj \ + $(OBJS)\monodll_textmeasurecmn.obj \ $(OBJS)\monodll_toplvcmn.obj \ $(OBJS)\monodll_treebase.obj \ $(OBJS)\monodll_uiactioncmn.obj \ @@ -2071,6 +2073,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_region.obj \ $(OBJS)\monodll_renderer.obj \ $(OBJS)\monodll_settings.obj \ + $(OBJS)\monodll_textmeasure.obj \ $(OBJS)\monodll_tooltip.obj \ $(OBJS)\monodll_toplevel.obj \ $(OBJS)\monodll_uiaction.obj \ @@ -2250,6 +2253,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_tbarbase.obj \ $(OBJS)\monodll_textcmn.obj \ $(OBJS)\monodll_textentrycmn.obj \ + $(OBJS)\monodll_textmeasurecmn.obj \ $(OBJS)\monodll_toplvcmn.obj \ $(OBJS)\monodll_treebase.obj \ $(OBJS)\monodll_uiactioncmn.obj \ @@ -2587,6 +2591,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_region.obj \ $(OBJS)\monolib_renderer.obj \ $(OBJS)\monolib_settings.obj \ + $(OBJS)\monolib_textmeasure.obj \ $(OBJS)\monolib_tooltip.obj \ $(OBJS)\monolib_toplevel.obj \ $(OBJS)\monolib_uiaction.obj \ @@ -2772,6 +2777,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_tbarbase.obj \ $(OBJS)\monolib_textcmn.obj \ $(OBJS)\monolib_textentrycmn.obj \ + $(OBJS)\monolib_textmeasurecmn.obj \ $(OBJS)\monolib_toplvcmn.obj \ $(OBJS)\monolib_treebase.obj \ $(OBJS)\monolib_uiactioncmn.obj \ @@ -2862,6 +2868,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_region.obj \ $(OBJS)\monolib_renderer.obj \ $(OBJS)\monolib_settings.obj \ + $(OBJS)\monolib_textmeasure.obj \ $(OBJS)\monolib_tooltip.obj \ $(OBJS)\monolib_toplevel.obj \ $(OBJS)\monolib_uiaction.obj \ @@ -3041,6 +3048,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_tbarbase.obj \ $(OBJS)\monolib_textcmn.obj \ $(OBJS)\monolib_textentrycmn.obj \ + $(OBJS)\monolib_textmeasurecmn.obj \ $(OBJS)\monolib_toplvcmn.obj \ $(OBJS)\monolib_treebase.obj \ $(OBJS)\monolib_uiactioncmn.obj \ @@ -3259,6 +3267,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_region.obj \ $(OBJS)\coredll_renderer.obj \ $(OBJS)\coredll_settings.obj \ + $(OBJS)\coredll_textmeasure.obj \ $(OBJS)\coredll_tooltip.obj \ $(OBJS)\coredll_toplevel.obj \ $(OBJS)\coredll_uiaction.obj \ @@ -3444,6 +3453,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_tbarbase.obj \ $(OBJS)\coredll_textcmn.obj \ $(OBJS)\coredll_textentrycmn.obj \ + $(OBJS)\coredll_textmeasurecmn.obj \ $(OBJS)\coredll_toplvcmn.obj \ $(OBJS)\coredll_treebase.obj \ $(OBJS)\coredll_uiactioncmn.obj \ @@ -3534,6 +3544,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_region.obj \ $(OBJS)\coredll_renderer.obj \ $(OBJS)\coredll_settings.obj \ + $(OBJS)\coredll_textmeasure.obj \ $(OBJS)\coredll_tooltip.obj \ $(OBJS)\coredll_toplevel.obj \ $(OBJS)\coredll_uiaction.obj \ @@ -3713,6 +3724,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_tbarbase.obj \ $(OBJS)\coredll_textcmn.obj \ $(OBJS)\coredll_textentrycmn.obj \ + $(OBJS)\coredll_textmeasurecmn.obj \ $(OBJS)\coredll_toplvcmn.obj \ $(OBJS)\coredll_treebase.obj \ $(OBJS)\coredll_uiactioncmn.obj \ @@ -3807,6 +3819,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_region.obj \ $(OBJS)\corelib_renderer.obj \ $(OBJS)\corelib_settings.obj \ + $(OBJS)\corelib_textmeasure.obj \ $(OBJS)\corelib_tooltip.obj \ $(OBJS)\corelib_toplevel.obj \ $(OBJS)\corelib_uiaction.obj \ @@ -3992,6 +4005,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_tbarbase.obj \ $(OBJS)\corelib_textcmn.obj \ $(OBJS)\corelib_textentrycmn.obj \ + $(OBJS)\corelib_textmeasurecmn.obj \ $(OBJS)\corelib_toplvcmn.obj \ $(OBJS)\corelib_treebase.obj \ $(OBJS)\corelib_uiactioncmn.obj \ @@ -4082,6 +4096,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_region.obj \ $(OBJS)\corelib_renderer.obj \ $(OBJS)\corelib_settings.obj \ + $(OBJS)\corelib_textmeasure.obj \ $(OBJS)\corelib_tooltip.obj \ $(OBJS)\corelib_toplevel.obj \ $(OBJS)\corelib_uiaction.obj \ @@ -4261,6 +4276,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_tbarbase.obj \ $(OBJS)\corelib_textcmn.obj \ $(OBJS)\corelib_textentrycmn.obj \ + $(OBJS)\corelib_textmeasurecmn.obj \ $(OBJS)\corelib_toplvcmn.obj \ $(OBJS)\corelib_treebase.obj \ $(OBJS)\corelib_uiactioncmn.obj \ @@ -7496,6 +7512,11 @@ $(OBJS)\monodll_settings.obj: ..\..\src\msw\settings.cpp !endif !if "$(USE_GUI)" == "1" +$(OBJS)\monodll_textmeasure.obj: ..\..\src\msw\textmeasure.cpp + $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\textmeasure.cpp +!endif + +!if "$(USE_GUI)" == "1" $(OBJS)\monodll_tooltip.obj: ..\..\src\msw\tooltip.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\tooltip.cpp !endif @@ -8151,6 +8172,11 @@ $(OBJS)\monodll_textentrycmn.obj: ..\..\src\common\textentrycmn.cpp !endif !if "$(USE_GUI)" == "1" +$(OBJS)\monodll_textmeasurecmn.obj: ..\..\src\common\textmeasurecmn.cpp + $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\textmeasurecmn.cpp +!endif + +!if "$(USE_GUI)" == "1" $(OBJS)\monodll_toplvcmn.obj: ..\..\src\common\toplvcmn.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\toplvcmn.cpp !endif @@ -9922,6 +9948,11 @@ $(OBJS)\monolib_settings.obj: ..\..\src\msw\settings.cpp !endif !if "$(USE_GUI)" == "1" +$(OBJS)\monolib_textmeasure.obj: ..\..\src\msw\textmeasure.cpp + $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\textmeasure.cpp +!endif + +!if "$(USE_GUI)" == "1" $(OBJS)\monolib_tooltip.obj: ..\..\src\msw\tooltip.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\tooltip.cpp !endif @@ -10577,6 +10608,11 @@ $(OBJS)\monolib_textentrycmn.obj: ..\..\src\common\textentrycmn.cpp !endif !if "$(USE_GUI)" == "1" +$(OBJS)\monolib_textmeasurecmn.obj: ..\..\src\common\textmeasurecmn.cpp + $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\textmeasurecmn.cpp +!endif + +!if "$(USE_GUI)" == "1" $(OBJS)\monolib_toplvcmn.obj: ..\..\src\common\toplvcmn.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\toplvcmn.cpp !endif @@ -12312,6 +12348,11 @@ $(OBJS)\coredll_settings.obj: ..\..\src\msw\settings.cpp !endif !if "$(USE_GUI)" == "1" +$(OBJS)\coredll_textmeasure.obj: ..\..\src\msw\textmeasure.cpp + $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\textmeasure.cpp +!endif + +!if "$(USE_GUI)" == "1" $(OBJS)\coredll_tooltip.obj: ..\..\src\msw\tooltip.cpp $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\tooltip.cpp !endif @@ -12967,6 +13008,11 @@ $(OBJS)\coredll_textentrycmn.obj: ..\..\src\common\textentrycmn.cpp !endif !if "$(USE_GUI)" == "1" +$(OBJS)\coredll_textmeasurecmn.obj: ..\..\src\common\textmeasurecmn.cpp + $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\textmeasurecmn.cpp +!endif + +!if "$(USE_GUI)" == "1" $(OBJS)\coredll_toplvcmn.obj: ..\..\src\common\toplvcmn.cpp $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\toplvcmn.cpp !endif @@ -13732,6 +13778,11 @@ $(OBJS)\corelib_settings.obj: ..\..\src\msw\settings.cpp !endif !if "$(USE_GUI)" == "1" +$(OBJS)\corelib_textmeasure.obj: ..\..\src\msw\textmeasure.cpp + $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\textmeasure.cpp +!endif + +!if "$(USE_GUI)" == "1" $(OBJS)\corelib_tooltip.obj: ..\..\src\msw\tooltip.cpp $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\tooltip.cpp !endif @@ -14387,6 +14438,11 @@ $(OBJS)\corelib_textentrycmn.obj: ..\..\src\common\textentrycmn.cpp !endif !if "$(USE_GUI)" == "1" +$(OBJS)\corelib_textmeasurecmn.obj: ..\..\src\common\textmeasurecmn.cpp + $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\textmeasurecmn.cpp +!endif + +!if "$(USE_GUI)" == "1" $(OBJS)\corelib_toplvcmn.obj: ..\..\src\common\toplvcmn.cpp $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\toplvcmn.cpp !endif diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc index 7200c59fe4..80c4ad14de 100644 --- a/build/msw/makefile.gcc +++ b/build/msw/makefile.gcc @@ -1809,6 +1809,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_region.o \ $(OBJS)\monodll_renderer.o \ $(OBJS)\monodll_settings.o \ + $(OBJS)\monodll_textmeasure.o \ $(OBJS)\monodll_tooltip.o \ $(OBJS)\monodll_toplevel.o \ $(OBJS)\monodll_uiaction.o \ @@ -1994,6 +1995,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_tbarbase.o \ $(OBJS)\monodll_textcmn.o \ $(OBJS)\monodll_textentrycmn.o \ + $(OBJS)\monodll_textmeasurecmn.o \ $(OBJS)\monodll_toplvcmn.o \ $(OBJS)\monodll_treebase.o \ $(OBJS)\monodll_uiactioncmn.o \ @@ -2086,6 +2088,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_region.o \ $(OBJS)\monodll_renderer.o \ $(OBJS)\monodll_settings.o \ + $(OBJS)\monodll_textmeasure.o \ $(OBJS)\monodll_tooltip.o \ $(OBJS)\monodll_toplevel.o \ $(OBJS)\monodll_uiaction.o \ @@ -2265,6 +2268,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_tbarbase.o \ $(OBJS)\monodll_textcmn.o \ $(OBJS)\monodll_textentrycmn.o \ + $(OBJS)\monodll_textmeasurecmn.o \ $(OBJS)\monodll_toplvcmn.o \ $(OBJS)\monodll_treebase.o \ $(OBJS)\monodll_uiactioncmn.o \ @@ -2606,6 +2610,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_region.o \ $(OBJS)\monolib_renderer.o \ $(OBJS)\monolib_settings.o \ + $(OBJS)\monolib_textmeasure.o \ $(OBJS)\monolib_tooltip.o \ $(OBJS)\monolib_toplevel.o \ $(OBJS)\monolib_uiaction.o \ @@ -2791,6 +2796,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_tbarbase.o \ $(OBJS)\monolib_textcmn.o \ $(OBJS)\monolib_textentrycmn.o \ + $(OBJS)\monolib_textmeasurecmn.o \ $(OBJS)\monolib_toplvcmn.o \ $(OBJS)\monolib_treebase.o \ $(OBJS)\monolib_uiactioncmn.o \ @@ -2883,6 +2889,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_region.o \ $(OBJS)\monolib_renderer.o \ $(OBJS)\monolib_settings.o \ + $(OBJS)\monolib_textmeasure.o \ $(OBJS)\monolib_tooltip.o \ $(OBJS)\monolib_toplevel.o \ $(OBJS)\monolib_uiaction.o \ @@ -3062,6 +3069,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_tbarbase.o \ $(OBJS)\monolib_textcmn.o \ $(OBJS)\monolib_textentrycmn.o \ + $(OBJS)\monolib_textmeasurecmn.o \ $(OBJS)\monolib_toplvcmn.o \ $(OBJS)\monolib_treebase.o \ $(OBJS)\monolib_uiactioncmn.o \ @@ -3294,6 +3302,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_region.o \ $(OBJS)\coredll_renderer.o \ $(OBJS)\coredll_settings.o \ + $(OBJS)\coredll_textmeasure.o \ $(OBJS)\coredll_tooltip.o \ $(OBJS)\coredll_toplevel.o \ $(OBJS)\coredll_uiaction.o \ @@ -3479,6 +3488,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_tbarbase.o \ $(OBJS)\coredll_textcmn.o \ $(OBJS)\coredll_textentrycmn.o \ + $(OBJS)\coredll_textmeasurecmn.o \ $(OBJS)\coredll_toplvcmn.o \ $(OBJS)\coredll_treebase.o \ $(OBJS)\coredll_uiactioncmn.o \ @@ -3571,6 +3581,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_region.o \ $(OBJS)\coredll_renderer.o \ $(OBJS)\coredll_settings.o \ + $(OBJS)\coredll_textmeasure.o \ $(OBJS)\coredll_tooltip.o \ $(OBJS)\coredll_toplevel.o \ $(OBJS)\coredll_uiaction.o \ @@ -3750,6 +3761,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_tbarbase.o \ $(OBJS)\coredll_textcmn.o \ $(OBJS)\coredll_textentrycmn.o \ + $(OBJS)\coredll_textmeasurecmn.o \ $(OBJS)\coredll_toplvcmn.o \ $(OBJS)\coredll_treebase.o \ $(OBJS)\coredll_uiactioncmn.o \ @@ -3850,6 +3862,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_region.o \ $(OBJS)\corelib_renderer.o \ $(OBJS)\corelib_settings.o \ + $(OBJS)\corelib_textmeasure.o \ $(OBJS)\corelib_tooltip.o \ $(OBJS)\corelib_toplevel.o \ $(OBJS)\corelib_uiaction.o \ @@ -4035,6 +4048,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_tbarbase.o \ $(OBJS)\corelib_textcmn.o \ $(OBJS)\corelib_textentrycmn.o \ + $(OBJS)\corelib_textmeasurecmn.o \ $(OBJS)\corelib_toplvcmn.o \ $(OBJS)\corelib_treebase.o \ $(OBJS)\corelib_uiactioncmn.o \ @@ -4127,6 +4141,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_region.o \ $(OBJS)\corelib_renderer.o \ $(OBJS)\corelib_settings.o \ + $(OBJS)\corelib_textmeasure.o \ $(OBJS)\corelib_tooltip.o \ $(OBJS)\corelib_toplevel.o \ $(OBJS)\corelib_uiaction.o \ @@ -4306,6 +4321,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_tbarbase.o \ $(OBJS)\corelib_textcmn.o \ $(OBJS)\corelib_textentrycmn.o \ + $(OBJS)\corelib_textmeasurecmn.o \ $(OBJS)\corelib_toplvcmn.o \ $(OBJS)\corelib_treebase.o \ $(OBJS)\corelib_uiactioncmn.o \ @@ -7665,6 +7681,11 @@ $(OBJS)\monodll_settings.o: ../../src/msw/settings.cpp endif ifeq ($(USE_GUI),1) +$(OBJS)\monodll_textmeasure.o: ../../src/msw/textmeasure.cpp + $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< +endif + +ifeq ($(USE_GUI),1) $(OBJS)\monodll_tooltip.o: ../../src/msw/tooltip.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< endif @@ -8320,6 +8341,11 @@ $(OBJS)\monodll_textentrycmn.o: ../../src/common/textentrycmn.cpp endif ifeq ($(USE_GUI),1) +$(OBJS)\monodll_textmeasurecmn.o: ../../src/common/textmeasurecmn.cpp + $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< +endif + +ifeq ($(USE_GUI),1) $(OBJS)\monodll_toplvcmn.o: ../../src/common/toplvcmn.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< endif @@ -10091,6 +10117,11 @@ $(OBJS)\monolib_settings.o: ../../src/msw/settings.cpp endif ifeq ($(USE_GUI),1) +$(OBJS)\monolib_textmeasure.o: ../../src/msw/textmeasure.cpp + $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< +endif + +ifeq ($(USE_GUI),1) $(OBJS)\monolib_tooltip.o: ../../src/msw/tooltip.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< endif @@ -10746,6 +10777,11 @@ $(OBJS)\monolib_textentrycmn.o: ../../src/common/textentrycmn.cpp endif ifeq ($(USE_GUI),1) +$(OBJS)\monolib_textmeasurecmn.o: ../../src/common/textmeasurecmn.cpp + $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< +endif + +ifeq ($(USE_GUI),1) $(OBJS)\monolib_toplvcmn.o: ../../src/common/toplvcmn.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< endif @@ -12481,6 +12517,11 @@ $(OBJS)\coredll_settings.o: ../../src/msw/settings.cpp endif ifeq ($(USE_GUI),1) +$(OBJS)\coredll_textmeasure.o: ../../src/msw/textmeasure.cpp + $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $< +endif + +ifeq ($(USE_GUI),1) $(OBJS)\coredll_tooltip.o: ../../src/msw/tooltip.cpp $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $< endif @@ -13136,6 +13177,11 @@ $(OBJS)\coredll_textentrycmn.o: ../../src/common/textentrycmn.cpp endif ifeq ($(USE_GUI),1) +$(OBJS)\coredll_textmeasurecmn.o: ../../src/common/textmeasurecmn.cpp + $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $< +endif + +ifeq ($(USE_GUI),1) $(OBJS)\coredll_toplvcmn.o: ../../src/common/toplvcmn.cpp $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $< endif @@ -13901,6 +13947,11 @@ $(OBJS)\corelib_settings.o: ../../src/msw/settings.cpp endif ifeq ($(USE_GUI),1) +$(OBJS)\corelib_textmeasure.o: ../../src/msw/textmeasure.cpp + $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $< +endif + +ifeq ($(USE_GUI),1) $(OBJS)\corelib_tooltip.o: ../../src/msw/tooltip.cpp $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $< endif @@ -14556,6 +14607,11 @@ $(OBJS)\corelib_textentrycmn.o: ../../src/common/textentrycmn.cpp endif ifeq ($(USE_GUI),1) +$(OBJS)\corelib_textmeasurecmn.o: ../../src/common/textmeasurecmn.cpp + $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $< +endif + +ifeq ($(USE_GUI),1) $(OBJS)\corelib_toplvcmn.o: ../../src/common/toplvcmn.cpp $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $< endif diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc index 6a6aafad93..8951e51d02 100644 --- a/build/msw/makefile.vc +++ b/build/msw/makefile.vc @@ -2088,6 +2088,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_region.obj \ $(OBJS)\monodll_renderer.obj \ $(OBJS)\monodll_settings.obj \ + $(OBJS)\monodll_textmeasure.obj \ $(OBJS)\monodll_tooltip.obj \ $(OBJS)\monodll_toplevel.obj \ $(OBJS)\monodll_uiaction.obj \ @@ -2273,6 +2274,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_tbarbase.obj \ $(OBJS)\monodll_textcmn.obj \ $(OBJS)\monodll_textentrycmn.obj \ + $(OBJS)\monodll_textmeasurecmn.obj \ $(OBJS)\monodll_toplvcmn.obj \ $(OBJS)\monodll_treebase.obj \ $(OBJS)\monodll_uiactioncmn.obj \ @@ -2363,6 +2365,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_region.obj \ $(OBJS)\monodll_renderer.obj \ $(OBJS)\monodll_settings.obj \ + $(OBJS)\monodll_textmeasure.obj \ $(OBJS)\monodll_tooltip.obj \ $(OBJS)\monodll_toplevel.obj \ $(OBJS)\monodll_uiaction.obj \ @@ -2542,6 +2545,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_tbarbase.obj \ $(OBJS)\monodll_textcmn.obj \ $(OBJS)\monodll_textentrycmn.obj \ + $(OBJS)\monodll_textmeasurecmn.obj \ $(OBJS)\monodll_toplvcmn.obj \ $(OBJS)\monodll_treebase.obj \ $(OBJS)\monodll_uiactioncmn.obj \ @@ -2885,6 +2889,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_region.obj \ $(OBJS)\monolib_renderer.obj \ $(OBJS)\monolib_settings.obj \ + $(OBJS)\monolib_textmeasure.obj \ $(OBJS)\monolib_tooltip.obj \ $(OBJS)\monolib_toplevel.obj \ $(OBJS)\monolib_uiaction.obj \ @@ -3070,6 +3075,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_tbarbase.obj \ $(OBJS)\monolib_textcmn.obj \ $(OBJS)\monolib_textentrycmn.obj \ + $(OBJS)\monolib_textmeasurecmn.obj \ $(OBJS)\monolib_toplvcmn.obj \ $(OBJS)\monolib_treebase.obj \ $(OBJS)\monolib_uiactioncmn.obj \ @@ -3160,6 +3166,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_region.obj \ $(OBJS)\monolib_renderer.obj \ $(OBJS)\monolib_settings.obj \ + $(OBJS)\monolib_textmeasure.obj \ $(OBJS)\monolib_tooltip.obj \ $(OBJS)\monolib_toplevel.obj \ $(OBJS)\monolib_uiaction.obj \ @@ -3339,6 +3346,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_tbarbase.obj \ $(OBJS)\monolib_textcmn.obj \ $(OBJS)\monolib_textentrycmn.obj \ + $(OBJS)\monolib_textmeasurecmn.obj \ $(OBJS)\monolib_toplvcmn.obj \ $(OBJS)\monolib_treebase.obj \ $(OBJS)\monolib_uiactioncmn.obj \ @@ -3623,6 +3631,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_region.obj \ $(OBJS)\coredll_renderer.obj \ $(OBJS)\coredll_settings.obj \ + $(OBJS)\coredll_textmeasure.obj \ $(OBJS)\coredll_tooltip.obj \ $(OBJS)\coredll_toplevel.obj \ $(OBJS)\coredll_uiaction.obj \ @@ -3808,6 +3817,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_tbarbase.obj \ $(OBJS)\coredll_textcmn.obj \ $(OBJS)\coredll_textentrycmn.obj \ + $(OBJS)\coredll_textmeasurecmn.obj \ $(OBJS)\coredll_toplvcmn.obj \ $(OBJS)\coredll_treebase.obj \ $(OBJS)\coredll_uiactioncmn.obj \ @@ -3898,6 +3908,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_region.obj \ $(OBJS)\coredll_renderer.obj \ $(OBJS)\coredll_settings.obj \ + $(OBJS)\coredll_textmeasure.obj \ $(OBJS)\coredll_tooltip.obj \ $(OBJS)\coredll_toplevel.obj \ $(OBJS)\coredll_uiaction.obj \ @@ -4077,6 +4088,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_tbarbase.obj \ $(OBJS)\coredll_textcmn.obj \ $(OBJS)\coredll_textentrycmn.obj \ + $(OBJS)\coredll_textmeasurecmn.obj \ $(OBJS)\coredll_toplvcmn.obj \ $(OBJS)\coredll_treebase.obj \ $(OBJS)\coredll_uiactioncmn.obj \ @@ -4177,6 +4189,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_region.obj \ $(OBJS)\corelib_renderer.obj \ $(OBJS)\corelib_settings.obj \ + $(OBJS)\corelib_textmeasure.obj \ $(OBJS)\corelib_tooltip.obj \ $(OBJS)\corelib_toplevel.obj \ $(OBJS)\corelib_uiaction.obj \ @@ -4362,6 +4375,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_tbarbase.obj \ $(OBJS)\corelib_textcmn.obj \ $(OBJS)\corelib_textentrycmn.obj \ + $(OBJS)\corelib_textmeasurecmn.obj \ $(OBJS)\corelib_toplvcmn.obj \ $(OBJS)\corelib_treebase.obj \ $(OBJS)\corelib_uiactioncmn.obj \ @@ -4452,6 +4466,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_region.obj \ $(OBJS)\corelib_renderer.obj \ $(OBJS)\corelib_settings.obj \ + $(OBJS)\corelib_textmeasure.obj \ $(OBJS)\corelib_tooltip.obj \ $(OBJS)\corelib_toplevel.obj \ $(OBJS)\corelib_uiaction.obj \ @@ -4631,6 +4646,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_tbarbase.obj \ $(OBJS)\corelib_textcmn.obj \ $(OBJS)\corelib_textentrycmn.obj \ + $(OBJS)\corelib_textmeasurecmn.obj \ $(OBJS)\corelib_toplvcmn.obj \ $(OBJS)\corelib_treebase.obj \ $(OBJS)\corelib_uiactioncmn.obj \ @@ -8180,6 +8196,11 @@ $(OBJS)\monodll_settings.obj: ..\..\src\msw\settings.cpp !endif !if "$(USE_GUI)" == "1" +$(OBJS)\monodll_textmeasure.obj: ..\..\src\msw\textmeasure.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\textmeasure.cpp +!endif + +!if "$(USE_GUI)" == "1" $(OBJS)\monodll_tooltip.obj: ..\..\src\msw\tooltip.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\tooltip.cpp !endif @@ -8835,6 +8856,11 @@ $(OBJS)\monodll_textentrycmn.obj: ..\..\src\common\textentrycmn.cpp !endif !if "$(USE_GUI)" == "1" +$(OBJS)\monodll_textmeasurecmn.obj: ..\..\src\common\textmeasurecmn.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\textmeasurecmn.cpp +!endif + +!if "$(USE_GUI)" == "1" $(OBJS)\monodll_toplvcmn.obj: ..\..\src\common\toplvcmn.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\toplvcmn.cpp !endif @@ -10606,6 +10632,11 @@ $(OBJS)\monolib_settings.obj: ..\..\src\msw\settings.cpp !endif !if "$(USE_GUI)" == "1" +$(OBJS)\monolib_textmeasure.obj: ..\..\src\msw\textmeasure.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\textmeasure.cpp +!endif + +!if "$(USE_GUI)" == "1" $(OBJS)\monolib_tooltip.obj: ..\..\src\msw\tooltip.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\tooltip.cpp !endif @@ -11261,6 +11292,11 @@ $(OBJS)\monolib_textentrycmn.obj: ..\..\src\common\textentrycmn.cpp !endif !if "$(USE_GUI)" == "1" +$(OBJS)\monolib_textmeasurecmn.obj: ..\..\src\common\textmeasurecmn.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\textmeasurecmn.cpp +!endif + +!if "$(USE_GUI)" == "1" $(OBJS)\monolib_toplvcmn.obj: ..\..\src\common\toplvcmn.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\toplvcmn.cpp !endif @@ -12996,6 +13032,11 @@ $(OBJS)\coredll_settings.obj: ..\..\src\msw\settings.cpp !endif !if "$(USE_GUI)" == "1" +$(OBJS)\coredll_textmeasure.obj: ..\..\src\msw\textmeasure.cpp + $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\textmeasure.cpp +!endif + +!if "$(USE_GUI)" == "1" $(OBJS)\coredll_tooltip.obj: ..\..\src\msw\tooltip.cpp $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\tooltip.cpp !endif @@ -13651,6 +13692,11 @@ $(OBJS)\coredll_textentrycmn.obj: ..\..\src\common\textentrycmn.cpp !endif !if "$(USE_GUI)" == "1" +$(OBJS)\coredll_textmeasurecmn.obj: ..\..\src\common\textmeasurecmn.cpp + $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\textmeasurecmn.cpp +!endif + +!if "$(USE_GUI)" == "1" $(OBJS)\coredll_toplvcmn.obj: ..\..\src\common\toplvcmn.cpp $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\toplvcmn.cpp !endif @@ -14416,6 +14462,11 @@ $(OBJS)\corelib_settings.obj: ..\..\src\msw\settings.cpp !endif !if "$(USE_GUI)" == "1" +$(OBJS)\corelib_textmeasure.obj: ..\..\src\msw\textmeasure.cpp + $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\textmeasure.cpp +!endif + +!if "$(USE_GUI)" == "1" $(OBJS)\corelib_tooltip.obj: ..\..\src\msw\tooltip.cpp $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\tooltip.cpp !endif @@ -15071,6 +15122,11 @@ $(OBJS)\corelib_textentrycmn.obj: ..\..\src\common\textentrycmn.cpp !endif !if "$(USE_GUI)" == "1" +$(OBJS)\corelib_textmeasurecmn.obj: ..\..\src\common\textmeasurecmn.cpp + $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\textmeasurecmn.cpp +!endif + +!if "$(USE_GUI)" == "1" $(OBJS)\corelib_toplvcmn.obj: ..\..\src\common\toplvcmn.cpp $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\toplvcmn.cpp !endif diff --git a/build/msw/makefile.wat b/build/msw/makefile.wat index 248328c26c..be05670d88 100644 --- a/build/msw/makefile.wat +++ b/build/msw/makefile.wat @@ -302,6 +302,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = & $(OBJS)\monodll_region.obj & $(OBJS)\monodll_renderer.obj & $(OBJS)\monodll_settings.obj & + $(OBJS)\monodll_textmeasure.obj & $(OBJS)\monodll_tooltip.obj & $(OBJS)\monodll_toplevel.obj & $(OBJS)\monodll_uiaction.obj & @@ -487,6 +488,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = & $(OBJS)\monodll_tbarbase.obj & $(OBJS)\monodll_textcmn.obj & $(OBJS)\monodll_textentrycmn.obj & + $(OBJS)\monodll_textmeasurecmn.obj & $(OBJS)\monodll_toplvcmn.obj & $(OBJS)\monodll_treebase.obj & $(OBJS)\monodll_uiactioncmn.obj & @@ -579,6 +581,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = & $(OBJS)\monodll_region.obj & $(OBJS)\monodll_renderer.obj & $(OBJS)\monodll_settings.obj & + $(OBJS)\monodll_textmeasure.obj & $(OBJS)\monodll_tooltip.obj & $(OBJS)\monodll_toplevel.obj & $(OBJS)\monodll_uiaction.obj & @@ -758,6 +761,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = & $(OBJS)\monodll_tbarbase.obj & $(OBJS)\monodll_textcmn.obj & $(OBJS)\monodll_textentrycmn.obj & + $(OBJS)\monodll_textmeasurecmn.obj & $(OBJS)\monodll_toplvcmn.obj & $(OBJS)\monodll_treebase.obj & $(OBJS)\monodll_uiactioncmn.obj & @@ -1104,6 +1108,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = & $(OBJS)\monolib_region.obj & $(OBJS)\monolib_renderer.obj & $(OBJS)\monolib_settings.obj & + $(OBJS)\monolib_textmeasure.obj & $(OBJS)\monolib_tooltip.obj & $(OBJS)\monolib_toplevel.obj & $(OBJS)\monolib_uiaction.obj & @@ -1289,6 +1294,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = & $(OBJS)\monolib_tbarbase.obj & $(OBJS)\monolib_textcmn.obj & $(OBJS)\monolib_textentrycmn.obj & + $(OBJS)\monolib_textmeasurecmn.obj & $(OBJS)\monolib_toplvcmn.obj & $(OBJS)\monolib_treebase.obj & $(OBJS)\monolib_uiactioncmn.obj & @@ -1381,6 +1387,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = & $(OBJS)\monolib_region.obj & $(OBJS)\monolib_renderer.obj & $(OBJS)\monolib_settings.obj & + $(OBJS)\monolib_textmeasure.obj & $(OBJS)\monolib_tooltip.obj & $(OBJS)\monolib_toplevel.obj & $(OBJS)\monolib_uiaction.obj & @@ -1560,6 +1567,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = & $(OBJS)\monolib_tbarbase.obj & $(OBJS)\monolib_textcmn.obj & $(OBJS)\monolib_textentrycmn.obj & + $(OBJS)\monolib_textmeasurecmn.obj & $(OBJS)\monolib_toplvcmn.obj & $(OBJS)\monolib_treebase.obj & $(OBJS)\monolib_uiactioncmn.obj & @@ -1803,6 +1811,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = & $(OBJS)\coredll_region.obj & $(OBJS)\coredll_renderer.obj & $(OBJS)\coredll_settings.obj & + $(OBJS)\coredll_textmeasure.obj & $(OBJS)\coredll_tooltip.obj & $(OBJS)\coredll_toplevel.obj & $(OBJS)\coredll_uiaction.obj & @@ -1988,6 +1997,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = & $(OBJS)\coredll_tbarbase.obj & $(OBJS)\coredll_textcmn.obj & $(OBJS)\coredll_textentrycmn.obj & + $(OBJS)\coredll_textmeasurecmn.obj & $(OBJS)\coredll_toplvcmn.obj & $(OBJS)\coredll_treebase.obj & $(OBJS)\coredll_uiactioncmn.obj & @@ -2080,6 +2090,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = & $(OBJS)\coredll_region.obj & $(OBJS)\coredll_renderer.obj & $(OBJS)\coredll_settings.obj & + $(OBJS)\coredll_textmeasure.obj & $(OBJS)\coredll_tooltip.obj & $(OBJS)\coredll_toplevel.obj & $(OBJS)\coredll_uiaction.obj & @@ -2259,6 +2270,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = & $(OBJS)\coredll_tbarbase.obj & $(OBJS)\coredll_textcmn.obj & $(OBJS)\coredll_textentrycmn.obj & + $(OBJS)\coredll_textmeasurecmn.obj & $(OBJS)\coredll_toplvcmn.obj & $(OBJS)\coredll_treebase.obj & $(OBJS)\coredll_uiactioncmn.obj & @@ -2361,6 +2373,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = & $(OBJS)\corelib_region.obj & $(OBJS)\corelib_renderer.obj & $(OBJS)\corelib_settings.obj & + $(OBJS)\corelib_textmeasure.obj & $(OBJS)\corelib_tooltip.obj & $(OBJS)\corelib_toplevel.obj & $(OBJS)\corelib_uiaction.obj & @@ -2546,6 +2559,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = & $(OBJS)\corelib_tbarbase.obj & $(OBJS)\corelib_textcmn.obj & $(OBJS)\corelib_textentrycmn.obj & + $(OBJS)\corelib_textmeasurecmn.obj & $(OBJS)\corelib_toplvcmn.obj & $(OBJS)\corelib_treebase.obj & $(OBJS)\corelib_uiactioncmn.obj & @@ -2638,6 +2652,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = & $(OBJS)\corelib_region.obj & $(OBJS)\corelib_renderer.obj & $(OBJS)\corelib_settings.obj & + $(OBJS)\corelib_textmeasure.obj & $(OBJS)\corelib_tooltip.obj & $(OBJS)\corelib_toplevel.obj & $(OBJS)\corelib_uiaction.obj & @@ -2817,6 +2832,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = & $(OBJS)\corelib_tbarbase.obj & $(OBJS)\corelib_textcmn.obj & $(OBJS)\corelib_textentrycmn.obj & + $(OBJS)\corelib_textmeasurecmn.obj & $(OBJS)\corelib_toplvcmn.obj & $(OBJS)\corelib_treebase.obj & $(OBJS)\corelib_uiactioncmn.obj & @@ -7938,6 +7954,11 @@ $(OBJS)\monodll_settings.obj : .AUTODEPEND ..\..\src\msw\settings.cpp !endif !ifeq USE_GUI 1 +$(OBJS)\monodll_textmeasure.obj : .AUTODEPEND ..\..\src\msw\textmeasure.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< +!endif + +!ifeq USE_GUI 1 $(OBJS)\monodll_tooltip.obj : .AUTODEPEND ..\..\src\msw\tooltip.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< !endif @@ -8593,6 +8614,11 @@ $(OBJS)\monodll_textentrycmn.obj : .AUTODEPEND ..\..\src\common\textentrycmn.cp !endif !ifeq USE_GUI 1 +$(OBJS)\monodll_textmeasurecmn.obj : .AUTODEPEND ..\..\src\common\textmeasurecmn.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< +!endif + +!ifeq USE_GUI 1 $(OBJS)\monodll_toplvcmn.obj : .AUTODEPEND ..\..\src\common\toplvcmn.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< !endif @@ -10364,6 +10390,11 @@ $(OBJS)\monolib_settings.obj : .AUTODEPEND ..\..\src\msw\settings.cpp !endif !ifeq USE_GUI 1 +$(OBJS)\monolib_textmeasure.obj : .AUTODEPEND ..\..\src\msw\textmeasure.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< +!endif + +!ifeq USE_GUI 1 $(OBJS)\monolib_tooltip.obj : .AUTODEPEND ..\..\src\msw\tooltip.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< !endif @@ -11019,6 +11050,11 @@ $(OBJS)\monolib_textentrycmn.obj : .AUTODEPEND ..\..\src\common\textentrycmn.cp !endif !ifeq USE_GUI 1 +$(OBJS)\monolib_textmeasurecmn.obj : .AUTODEPEND ..\..\src\common\textmeasurecmn.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< +!endif + +!ifeq USE_GUI 1 $(OBJS)\monolib_toplvcmn.obj : .AUTODEPEND ..\..\src\common\toplvcmn.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< !endif @@ -12754,6 +12790,11 @@ $(OBJS)\coredll_settings.obj : .AUTODEPEND ..\..\src\msw\settings.cpp !endif !ifeq USE_GUI 1 +$(OBJS)\coredll_textmeasure.obj : .AUTODEPEND ..\..\src\msw\textmeasure.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $< +!endif + +!ifeq USE_GUI 1 $(OBJS)\coredll_tooltip.obj : .AUTODEPEND ..\..\src\msw\tooltip.cpp $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $< !endif @@ -13409,6 +13450,11 @@ $(OBJS)\coredll_textentrycmn.obj : .AUTODEPEND ..\..\src\common\textentrycmn.cp !endif !ifeq USE_GUI 1 +$(OBJS)\coredll_textmeasurecmn.obj : .AUTODEPEND ..\..\src\common\textmeasurecmn.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $< +!endif + +!ifeq USE_GUI 1 $(OBJS)\coredll_toplvcmn.obj : .AUTODEPEND ..\..\src\common\toplvcmn.cpp $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $< !endif @@ -14174,6 +14220,11 @@ $(OBJS)\corelib_settings.obj : .AUTODEPEND ..\..\src\msw\settings.cpp !endif !ifeq USE_GUI 1 +$(OBJS)\corelib_textmeasure.obj : .AUTODEPEND ..\..\src\msw\textmeasure.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $< +!endif + +!ifeq USE_GUI 1 $(OBJS)\corelib_tooltip.obj : .AUTODEPEND ..\..\src\msw\tooltip.cpp $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $< !endif @@ -14829,6 +14880,11 @@ $(OBJS)\corelib_textentrycmn.obj : .AUTODEPEND ..\..\src\common\textentrycmn.cp !endif !ifeq USE_GUI 1 +$(OBJS)\corelib_textmeasurecmn.obj : .AUTODEPEND ..\..\src\common\textmeasurecmn.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $< +!endif + +!ifeq USE_GUI 1 $(OBJS)\corelib_toplvcmn.obj : .AUTODEPEND ..\..\src\common\toplvcmn.cpp $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $< !endif diff --git a/build/msw/wx_core.dsp b/build/msw/wx_core.dsp index dab6894f7e..8de65235b6 100644 --- a/build/msw/wx_core.dsp +++ b/build/msw/wx_core.dsp @@ -714,6 +714,10 @@ SOURCE=..\..\src\common\textentrycmn.cpp # End Source File # Begin Source File +SOURCE=..\..\src\common\textmeasurecmn.cpp +# End Source File +# Begin Source File + SOURCE=..\..\src\common\toplvcmn.cpp # End Source File # Begin Source File @@ -2708,6 +2712,10 @@ SOURCE=..\..\src\msw\textentry.cpp # End Source File # Begin Source File +SOURCE=..\..\src\msw\textmeasure.cpp +# End Source File +# Begin Source File + SOURCE=..\..\src\msw\tglbtn.cpp !IF "$(CFG)" == "core - Win32 DLL Universal Release" diff --git a/build/msw/wx_vc7_core.vcproj b/build/msw/wx_vc7_core.vcproj index 6c6888b9c3..9766ef2d03 100644 --- a/build/msw/wx_vc7_core.vcproj +++ b/build/msw/wx_vc7_core.vcproj @@ -927,6 +927,9 @@ + + @@ -2461,6 +2464,9 @@ Name="DLL Universal Release|Win32" ExcludedFromBuild="TRUE"/> + + + + @@ -3315,6 +3319,10 @@ ExcludedFromBuild="true" /> + + diff --git a/build/msw/wx_vc9_core.vcproj b/build/msw/wx_vc9_core.vcproj index 68d8e74f06..5f25778823 100644 --- a/build/msw/wx_vc9_core.vcproj +++ b/build/msw/wx_vc9_core.vcproj @@ -1266,6 +1266,10 @@ RelativePath="..\..\src\common\textentrycmn.cpp" > + + @@ -3311,6 +3315,10 @@ ExcludedFromBuild="true" /> + + diff --git a/include/wx/generic/private/textmeasure.h b/include/wx/generic/private/textmeasure.h new file mode 100644 index 0000000000..5d44f35350 --- /dev/null +++ b/include/wx/generic/private/textmeasure.h @@ -0,0 +1,40 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/generic/private/textmeasure.h +// Purpose: Generic wxTextMeasure declaration. +// Author: Vadim Zeitlin +// Created: 2012-10-17 +// RCS-ID: $Id$ +// Copyright: (c) 1997-2012 wxWidgets team +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_GENERIC_PRIVATE_TEXTMEASURE_H_ +#define _WX_GENERIC_PRIVATE_TEXTMEASURE_H_ + +// ---------------------------------------------------------------------------- +// wxTextMeasure for the platforms without native support. +// ---------------------------------------------------------------------------- + +class wxTextMeasure : public wxTextMeasureBase +{ +public: + wxTextMeasure(const wxDC *dc, const wxFont *font) + : wxTextMeasureBase(dc, font) {} + wxTextMeasure(const wxWindow *win, const wxFont *font) + : wxTextMeasureBase(win, font) {} + +protected: + virtual void DoGetTextExtent(const wxString& string, + wxCoord *width, + wxCoord *height, + wxCoord *descent = NULL, + wxCoord *externalLeading = NULL); + + virtual bool DoGetPartialTextExtents(const wxString& text, + wxArrayInt& widths, + double scaleX); + + wxDECLARE_NO_COPY_CLASS(wxTextMeasure); +}; + +#endif // _WX_GENERIC_PRIVATE_TEXTMEASURE_H_ diff --git a/include/wx/gtk/private/textmeasure.h b/include/wx/gtk/private/textmeasure.h new file mode 100644 index 0000000000..ad9a43c24d --- /dev/null +++ b/include/wx/gtk/private/textmeasure.h @@ -0,0 +1,65 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/gtk/private/textmeasure.h +// Purpose: wxGTK-specific declaration of wxTextMeasure class +// Author: Manuel Martin +// Created: 2012-19-05 +// Copyright: (c) 1997-2012 wxWidgets team +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_GTK_PRIVATE_TEXTMEASURE_H_ +#define _WX_GTK_PRIVATE_TEXTMEASURE_H_ + +// ---------------------------------------------------------------------------- +// wxTextMeasure +// ---------------------------------------------------------------------------- + +class WXDLLIMPEXP_FWD_CORE wxWindowDCImpl; + +class wxTextMeasure : public wxTextMeasureBase +{ +public: + wxTextMeasure(const wxDC *dc, const wxFont *font) + : wxTextMeasureBase(dc, font) + { + Init(); + } + + wxTextMeasure(const wxWindow *win, const wxFont *font) + : wxTextMeasureBase(win, font) + { + Init(); + } + +protected: + // Common part of both ctors. + void Init(); + + virtual void BeginMeasuring(); + virtual void EndMeasuring(); + + virtual void DoGetTextExtent(const wxString& string, + wxCoord *width, + wxCoord *height, + wxCoord *descent = NULL, + wxCoord *externalLeading = NULL); + + virtual bool DoGetPartialTextExtents(const wxString& text, + wxArrayInt& widths, + double scaleX); + + + // This class is only used for DC text measuring with GTK+ 2 as GTK+ 3 uses + // Cairo and not Pango for this. However it's still used even with GTK+ 3 + // for window text measuring, so the context and the layout are still + // needed. +#ifndef __WXGTK3__ + wxWindowDCImpl *m_wdc; +#endif // GTK+ < 3 + PangoContext *m_context; + PangoLayout *m_layout; + + wxDECLARE_NO_COPY_CLASS(wxTextMeasure); +}; + +#endif // _WX_GTK_PRIVATE_TEXTMEASURE_H_ diff --git a/include/wx/msw/private/textmeasure.h b/include/wx/msw/private/textmeasure.h new file mode 100644 index 0000000000..2651a600ec --- /dev/null +++ b/include/wx/msw/private/textmeasure.h @@ -0,0 +1,62 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/msw/private/textmeasure.h +// Purpose: wxMSW-specific declaration of wxTextMeasure class +// Author: Manuel Martin +// Created: 2012-10-05 +// Copyright: (c) 1997-2012 wxWidgets team +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_MSW_PRIVATE_TEXTMEASURE_H_ +#define _WX_MSW_PRIVATE_TEXTMEASURE_H_ + +#include "wx/msw/wrapwin.h" + +// ---------------------------------------------------------------------------- +// wxTextMeasure for MSW. +// ---------------------------------------------------------------------------- + +class wxTextMeasure : public wxTextMeasureBase +{ +public: + wxTextMeasure(const wxDC *dc, const wxFont *font) + : wxTextMeasureBase(dc, font) + { + Init(); + } + wxTextMeasure(const wxWindow *win, const wxFont *font) + : wxTextMeasureBase(win, font) + { + Init(); + } + +protected: + void Init(); + + virtual void BeginMeasuring(); + virtual void EndMeasuring(); + + virtual void DoGetTextExtent(const wxString& string, + wxCoord *width, + wxCoord *height, + wxCoord *descent = NULL, + wxCoord *externalLeading = NULL); + + virtual bool DoGetPartialTextExtents(const wxString& text, + wxArrayInt& widths, + double scaleX); + + + + // We use either the HDC of the provided wxDC or an HDC created for our + // window. + HDC m_hdc; + + // If we change the font in BeginMeasuring(), we restore it to the old one + // in EndMeasuring(). + HFONT m_hfontOld; + + wxDECLARE_NO_COPY_CLASS(wxTextMeasure); +}; + +#endif // _WX_MSW_PRIVATE_TEXTMEASURE_H_ diff --git a/include/wx/private/textmeasure.h b/include/wx/private/textmeasure.h new file mode 100644 index 0000000000..0e853c548c --- /dev/null +++ b/include/wx/private/textmeasure.h @@ -0,0 +1,138 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/private/textmeasure.h +// Purpose: declaration of wxTextMeasure class +// Author: Manuel Martin +// Created: 2012-10-05 +// Copyright: (c) 1997-2012 wxWidgets team +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_PRIVATE_TEXTMEASURE_H_ +#define _WX_PRIVATE_TEXTMEASURE_H_ + +#include "wx/vector.h" + +class WXDLLIMPEXP_FWD_CORE wxDC; +class WXDLLIMPEXP_FWD_CORE wxFont; +class WXDLLIMPEXP_FWD_CORE wxWindow; + +// ---------------------------------------------------------------------------- +// wxTextMeasure: class used to measure text extent. +// ---------------------------------------------------------------------------- + +class wxTextMeasureBase +{ +public: + // The first ctor argument must be non-NULL, i.e. each object of this class + // is associated with either a valid wxDC or a valid wxWindow. + wxTextMeasureBase(const wxDC *dc, const wxFont *theFont); + wxTextMeasureBase(const wxWindow *win, const wxFont *theFont); + + // Even though this class is not supposed to be used polymorphically, give + // it a virtual dtor to avoid compiler warnings. + virtual ~wxTextMeasureBase() { } + + + // Return the extent of a single line string. + void GetTextExtent(const wxString& string, + wxCoord *width, + wxCoord *height, + wxCoord *descent = NULL, + wxCoord *externalLeading = NULL); + + // The same for a multiline (with '\n') string. + void GetMultiLineTextExtent(const wxString& text, + wxCoord *width, + wxCoord *height, + wxCoord *heightOneLine = NULL); + + // Find the dimensions of the largest string. + void GetLargestStringExtent(const wxVector& strings, + wxCoord *width, + wxCoord *height); + + // Fill the array with the widths for each "0..N" substrings for N from 1 + // to text.length(). + // + // The scaleX argument is the horizontal scale used by wxDC and is only + // used in the generic implementation. + bool GetPartialTextExtents(const wxString& text, + wxArrayInt& widths, + double scaleX); + +protected: + // These functions are called by our public methods before and after each + // call to DoGetTextExtent(). Derived classes may override them to prepare + // for -- possibly several -- subsequent calls to DoGetTextExtent(). + // + // As these calls must be always paired, they're never called directly but + // only by our friend MeasuringGuard class. + virtual void BeginMeasuring() { } + virtual void EndMeasuring() { } + + // RAII wrapper for the two methods above. + class MeasuringGuard + { + public: + MeasuringGuard(wxTextMeasureBase& tm) : m_tm(tm) + { + m_tm.BeginMeasuring(); + } + + ~MeasuringGuard() + { + m_tm.EndMeasuring(); + } + + private: + wxTextMeasureBase& m_tm; + }; + + + // The main function of this class, to be implemented in platform-specific + // way used by all our public methods except GetLargestStringExtents(). + // + // The width and height pointers here are never NULL and the input string + // is not empty. + virtual void DoGetTextExtent(const wxString& string, + wxCoord *width, + wxCoord *height, + wxCoord *descent = NULL, + wxCoord *externalLeading = NULL) = 0; + + // The real implementation of GetPartialTextExtents(). + // + // On input, widths array contains text.length() zero elements and the text + // is guaranteed to be non-empty. + virtual bool DoGetPartialTextExtents(const wxString& text, + wxArrayInt& widths, + double scaleX) = 0; + + + // Exactly one of m_dc and m_win is non-NULL for any given object of this + // class. + const wxDC* const m_dc; + const wxWindow* const m_win; + + // This one can be NULL or not. + const wxFont* const m_font; + + wxDECLARE_NO_COPY_CLASS(wxTextMeasureBase); +}; + +// Include the platform dependant class declaration, if any. +#if defined(__WXGTK20__) + #include "wx/gtk/private/textmeasure.h" +#elif defined(__WXMSW__) + #include "wx/msw/private/textmeasure.h" +#else // no platform-specific implementation of wxTextMeasure yet + #include "wx/generic/private/textmeasure.h" + + #define wxUSE_GENERIC_TEXTMEASURE 1 +#endif + +#ifndef wxUSE_GENERIC_TEXTMEASURE + #define wxUSE_GENERIC_TEXTMEASURE 0 +#endif + +#endif // _WX_PRIVATE_TEXTMEASURE_H_ diff --git a/src/common/dcbase.cpp b/src/common/dcbase.cpp index 49fdb5f362..46a163129c 100644 --- a/src/common/dcbase.cpp +++ b/src/common/dcbase.cpp @@ -38,6 +38,8 @@ #include "wx/window.h" #endif +#include "wx/private/textmeasure.h" + #ifdef __WXMSW__ #include "wx/msw/dcclient.h" #include "wx/msw/dcmemory.h" @@ -511,78 +513,10 @@ void wxDCImpl::SetAxisOrientation( bool xLeftRight, bool yBottomUp ) ComputeScaleAndOrigin(); } - -// Each element of the widths array will be the width of the string up to and -// including the corresponding character in text. This is the generic -// implementation, the port-specific classes should do this with native APIs -// if available and if faster. Note: pango_layout_index_to_pos is much slower -// than calling GetTextExtent!! - -#define FWC_SIZE 256 - -class FontWidthCache -{ -public: - FontWidthCache() : m_scaleX(1), m_widths(NULL) { } - ~FontWidthCache() { delete []m_widths; } - - void Reset() - { - if (!m_widths) - m_widths = new int[FWC_SIZE]; - - memset(m_widths, 0, sizeof(int)*FWC_SIZE); - } - - wxFont m_font; - double m_scaleX; - int *m_widths; -}; - -static FontWidthCache s_fontWidthCache; - bool wxDCImpl::DoGetPartialTextExtents(const wxString& text, wxArrayInt& widths) const { - int totalWidth = 0; - - const size_t len = text.length(); - widths.Empty(); - widths.Add(0, len); - - // reset the cache if font or horizontal scale have changed - if ( !s_fontWidthCache.m_widths || - !wxIsSameDouble(s_fontWidthCache.m_scaleX, m_scaleX) || - (s_fontWidthCache.m_font != GetFont()) ) - { - s_fontWidthCache.Reset(); - s_fontWidthCache.m_font = GetFont(); - s_fontWidthCache.m_scaleX = m_scaleX; - } - - // Calculate the position of each character based on the widths of - // the previous characters - int w, h; - for ( size_t i = 0; i < len; i++ ) - { - const wxChar c = text[i]; - unsigned int c_int = (unsigned int)c; - - if ((c_int < FWC_SIZE) && (s_fontWidthCache.m_widths[c_int] != 0)) - { - w = s_fontWidthCache.m_widths[c_int]; - } - else - { - DoGetTextExtent(c, &w, &h); - if (c_int < FWC_SIZE) - s_fontWidthCache.m_widths[c_int] = w; - } - - totalWidth += w; - widths[i] = totalWidth; - } - - return true; + wxTextMeasure tm(GetOwner(), &m_font); + return tm.GetPartialTextExtents(text, widths, m_scaleX); } void wxDCImpl::GetMultiLineTextExtent(const wxString& text, @@ -591,64 +525,8 @@ void wxDCImpl::GetMultiLineTextExtent(const wxString& text, wxCoord *h, const wxFont *font) const { - wxCoord widthTextMax = 0, widthLine, - heightTextTotal = 0, heightLineDefault = 0, heightLine = 0; - - wxString curLine; - for ( wxString::const_iterator pc = text.begin(); ; ++pc ) - { - if ( pc == text.end() || *pc == wxT('\n') ) - { - if ( curLine.empty() ) - { - // we can't use GetTextExtent - it will return 0 for both width - // and height and an empty line should count in height - // calculation - - // assume that this line has the same height as the previous - // one - if ( !heightLineDefault ) - heightLineDefault = heightLine; - - if ( !heightLineDefault ) - { - // but we don't know it yet - choose something reasonable - DoGetTextExtent(wxT("W"), NULL, &heightLineDefault, - NULL, NULL, font); - } - - heightTextTotal += heightLineDefault; - } - else - { - DoGetTextExtent(curLine, &widthLine, &heightLine, - NULL, NULL, font); - if ( widthLine > widthTextMax ) - widthTextMax = widthLine; - heightTextTotal += heightLine; - } - - if ( pc == text.end() ) - { - break; - } - else // '\n' - { - curLine.clear(); - } - } - else - { - curLine += *pc; - } - } - - if ( x ) - *x = widthTextMax; - if ( y ) - *y = heightTextTotal; - if ( h ) - *h = heightLine; + wxTextMeasure tm(GetOwner(), font && font->IsOk() ? font : &m_font); + tm.GetMultiLineTextExtent(text, x, y, h); } void wxDCImpl::DoDrawCheckMark(wxCoord x1, wxCoord y1, diff --git a/src/common/textmeasurecmn.cpp b/src/common/textmeasurecmn.cpp new file mode 100644 index 0000000000..bb16ac048a --- /dev/null +++ b/src/common/textmeasurecmn.cpp @@ -0,0 +1,178 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: src/common/textmeasurecmn.cpp +// Purpose: wxTextMeasureBase implementation +// Author: Manuel Martin +// Created: 2012-10-05 +// Copyright: (c) 1997-2012 wxWidgets team +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +// ============================================================================ +// declarations +// ============================================================================ + +// ---------------------------------------------------------------------------- +// headers +// ---------------------------------------------------------------------------- + +// for compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifndef WX_PRECOMP + #include "wx/dc.h" + #include "wx/window.h" +#endif //WX_PRECOMP + +#include "wx/private/textmeasure.h" + +// ============================================================================ +// wxTextMeasureBase implementation +// ============================================================================ + +wxTextMeasureBase::wxTextMeasureBase(const wxDC *dc, const wxFont *theFont) + : m_dc(dc), + m_win(NULL), + m_font(theFont) +{ + wxASSERT_MSG( dc, wxS("wxTextMeasure needs a valid wxDC") ); +} + +wxTextMeasureBase::wxTextMeasureBase(const wxWindow *win, const wxFont *theFont) + : m_dc(NULL), + m_win(win), + m_font(theFont) +{ + wxASSERT_MSG( win, wxS("wxTextMeasure needs a valid wxWindow") ); +} + +void wxTextMeasureBase::GetTextExtent(const wxString& string, + wxCoord *width, + wxCoord *height, + wxCoord *descent, + wxCoord *externalLeading) +{ + // To make the code simpler, make sure that the width and height pointers + // are always valid, even if they point to dummy variables. + int unusedWidth, unusedHeight; + if ( !width ) + width = &unusedWidth; + if ( !height ) + height = &unusedHeight; + + if ( string.empty() ) + { + *width = + *height = 0; + + return; + } + + MeasuringGuard guard(*this); + + DoGetTextExtent(string, width, height, descent, externalLeading); +} + +void wxTextMeasureBase::GetMultiLineTextExtent(const wxString& text, + wxCoord *width, + wxCoord *height, + wxCoord *heightOneLine) +{ + MeasuringGuard guard(*this); + + wxCoord widthTextMax = 0, widthLine, + heightTextTotal = 0, heightLineDefault = 0, heightLine = 0; + + wxString curLine; + for ( wxString::const_iterator pc = text.begin(); ; ++pc ) + { + if ( pc == text.end() || *pc == wxS('\n') ) + { + if ( curLine.empty() ) + { + // we can't use GetTextExtent - it will return 0 for both width + // and height and an empty line should count in height + // calculation + + // assume that this line has the same height as the previous + // one + if ( !heightLineDefault ) + heightLineDefault = heightLine; + + if ( !heightLineDefault ) + { + // but we don't know it yet - choose something reasonable + DoGetTextExtent(wxS("W"), NULL, &heightLineDefault); + } + + heightTextTotal += heightLineDefault; + } + else + { + DoGetTextExtent(curLine, &widthLine, &heightLine); + if ( widthLine > widthTextMax ) + widthTextMax = widthLine; + heightTextTotal += heightLine; + } + + if ( pc == text.end() ) + { + break; + } + else // '\n' + { + curLine.clear(); + } + } + else + { + curLine += *pc; + } + } + + if ( width ) + *width = widthTextMax; + if ( height ) + *height = heightTextTotal; + if ( heightOneLine ) + *heightOneLine = heightLine; +} + +void wxTextMeasureBase::GetLargestStringExtent(const wxVector& strings, + wxCoord *width, + wxCoord *height) +{ + MeasuringGuard guard(*this); + + wxCoord w, h, widthMax = 0, heightMax = 0; + for ( wxVector::const_iterator i = strings.begin(); + i != strings.end(); + ++i ) + { + DoGetTextExtent(*i, &w, &h); + + if ( w > widthMax ) + widthMax = w; + if ( h > heightMax ) + heightMax = h; + } + + if ( width ) + *width = widthMax; + if ( height ) + *height = heightMax; +} + +bool wxTextMeasureBase::GetPartialTextExtents(const wxString& text, + wxArrayInt& widths, + double scaleX) +{ + widths.Empty(); + if ( text.empty() ) + return true; + + MeasuringGuard guard(*this); + + widths.Add(0, text.length()); + + return DoGetPartialTextExtents(text, widths, scaleX); +} diff --git a/src/generic/textmeasure.cpp b/src/generic/textmeasure.cpp new file mode 100644 index 0000000000..788e1f66e5 --- /dev/null +++ b/src/generic/textmeasure.cpp @@ -0,0 +1,131 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: src/generic/textmeasure.cpp +// Purpose: +// Author: Vadim Zeitlin +// Created: 2012-10-17 +// RCS-ID: $Id$ +// Copyright: (c) 2012 Vadim Zeitlin +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +// ============================================================================ +// declarations +// ============================================================================ + +// ---------------------------------------------------------------------------- +// headers +// ---------------------------------------------------------------------------- + +// for compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#include "wx/private/textmeasure.h" + +#if wxUSE_GENERIC_TEXTMEASURE + +// ============================================================================ +// wxTextMeasure generic implementation +// ============================================================================ + +// We assume that the ports not providing platform-specific wxTextMeasure +// implementation implement the corresponding functions in their wxDC and +// wxWindow classes, so forward back to them instead of using wxTextMeasure +// from there, as usual. +void wxTextMeasure::DoGetTextExtent(const wxString& string, + wxCoord *width, + wxCoord *height, + wxCoord *descent, + wxCoord *externalLeading) +{ + if ( m_dc ) + { + m_dc->GetTextExtent(string, width, height, + descent, externalLeading, m_font); + } + else if ( m_win ) + { + m_win->GetTextExtent(string, width, height, + descent, externalLeading, m_font); + } + //else: we already asserted in the ctor, don't do it any more +} + +// Each element of the widths array will be the width of the string up to and +// including the corresponding character in text. This is the generic +// implementation, the port-specific classes should do this with native APIs +// if available and if faster. Note: pango_layout_index_to_pos is much slower +// than calling GetTextExtent!! + +#define FWC_SIZE 256 + +class FontWidthCache +{ +public: + FontWidthCache() : m_scaleX(1), m_widths(NULL) { } + ~FontWidthCache() { delete []m_widths; } + + void Reset() + { + if ( !m_widths ) + m_widths = new int[FWC_SIZE]; + + memset(m_widths, 0, sizeof(int)*FWC_SIZE); + } + + wxFont m_font; + double m_scaleX; + int *m_widths; +}; + +static FontWidthCache s_fontWidthCache; + +bool wxTextMeasure::DoGetPartialTextExtents(const wxString& text, + wxArrayInt& widths, + double scaleX) +{ + int totalWidth = 0; + + // reset the cache if font or horizontal scale have changed + if ( !s_fontWidthCache.m_widths || + !wxIsSameDouble(s_fontWidthCache.m_scaleX, scaleX) || + (s_fontWidthCache.m_font != *m_font) ) + { + s_fontWidthCache.Reset(); + s_fontWidthCache.m_font = *m_font; + s_fontWidthCache.m_scaleX = scaleX; + } + + // Calculate the position of each character based on the widths of + // the previous characters. This is inexact for not fixed fonts. + int n = 0; + for ( wxString::const_iterator it = text.begin(); + it != text.end(); + ++it ) + { + const wxChar c = *it; + unsigned int c_int = (unsigned int)c; + + int w; + if ((c_int < FWC_SIZE) && (s_fontWidthCache.m_widths[c_int] != 0)) + { + w = s_fontWidthCache.m_widths[c_int]; + } + else + { + DoGetTextExtent(c, &w, NULL); + if (c_int < FWC_SIZE) + s_fontWidthCache.m_widths[c_int] = w; + } + + totalWidth += w; + widths[n++] = totalWidth; + } + + return true; +} + +#endif // wxUSE_GENERIC_TEXTMEASURE diff --git a/src/gtk/dcclient.cpp b/src/gtk/dcclient.cpp index 680ab2c6cd..0ad9159ef5 100644 --- a/src/gtk/dcclient.cpp +++ b/src/gtk/dcclient.cpp @@ -25,6 +25,7 @@ #include "wx/gtk/private.h" #include "wx/gtk/private/object.h" +#include "wx/private/textmeasure.h" //----------------------------------------------------------------------------- // local defines @@ -1532,100 +1533,27 @@ void wxWindowDCImpl::DoGetTextExtent(const wxString &string, wxCoord *descent, wxCoord *externalLeading, const wxFont *theFont) const { - if ( width ) - *width = 0; - if ( height ) - *height = 0; - if ( descent ) - *descent = 0; - if ( externalLeading ) - *externalLeading = 0; - - if (string.empty()) - return; - - // ensure that theFont is always non-NULL + // ensure we work with a valid font + const wxFont *fontToUse; if ( !theFont || !theFont->IsOk() ) - theFont = &m_font; + fontToUse = &m_font; + else + fontToUse = theFont; - // and use it if it's valid - if ( theFont->IsOk() ) - { - pango_layout_set_font_description - ( - m_layout, - theFont->GetNativeFontInfo()->description - ); - } + wxCHECK_RET( fontToUse->IsOk(), wxT("invalid font") ); - // Set layout's text - const wxCharBuffer dataUTF8 = wxGTK_CONV_FONT(string, *theFont); - if ( !dataUTF8 ) - { - // hardly ideal, but what else can we do if conversion failed? - return; - } - - pango_layout_set_text(m_layout, dataUTF8, -1); - - int h; - pango_layout_get_pixel_size(m_layout, width, &h); - if (descent) - { - PangoLayoutIter *iter = pango_layout_get_iter(m_layout); - int baseline = pango_layout_iter_get_baseline(iter); - pango_layout_iter_free(iter); - *descent = h - PANGO_PIXELS(baseline); - } - if (height) - *height = h; - - // Reset old font description - if (theFont->IsOk()) - pango_layout_set_font_description( m_layout, m_fontdesc ); + wxTextMeasure txm(GetOwner(), fontToUse); + txm.GetTextExtent(string, width, height, descent, externalLeading); } bool wxWindowDCImpl::DoGetPartialTextExtents(const wxString& text, wxArrayInt& widths) const { - const size_t len = text.length(); - widths.Empty(); - widths.Add(0, len); + wxCHECK_MSG( m_font.IsOk(), false, wxT("Invalid font") ); - if (text.empty()) - return true; - - // Set layout's text - const wxCharBuffer dataUTF8 = wxGTK_CONV_FONT(text, m_font); - if ( !dataUTF8 ) - { - // hardly ideal, but what else can we do if conversion failed? - wxLogLastError(wxT("DoGetPartialTextExtents")); - return false; - } - - pango_layout_set_text(m_layout, dataUTF8, -1); - - // Calculate the position of each character based on the widths of - // the previous characters - - // Code borrowed from Scintilla's PlatGTK - PangoLayoutIter *iter = pango_layout_get_iter(m_layout); - PangoRectangle pos; - pango_layout_iter_get_cluster_extents(iter, NULL, &pos); - size_t i = 0; - while (pango_layout_iter_next_cluster(iter)) - { - pango_layout_iter_get_cluster_extents(iter, NULL, &pos); - int position = PANGO_PIXELS(pos.x); - widths[i++] = position; - } - while (i < len) - widths[i++] = PANGO_PIXELS(pos.x + pos.width); - pango_layout_iter_free(iter); - - return true; + wxTextMeasure txm(GetOwner(), &m_font); + return txm.GetPartialTextExtents(text, widths, m_scaleX); } diff --git a/src/gtk/textmeasure.cpp b/src/gtk/textmeasure.cpp new file mode 100644 index 0000000000..f32df4af08 --- /dev/null +++ b/src/gtk/textmeasure.cpp @@ -0,0 +1,185 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: src/gtk/textmeasure.cpp +// Purpose: wxTextMeasure implementation for wxGTK +// Author: Manuel Martin +// Created: 2012-10-05 +// Copyright: (c) 1997-2012 wxWidgets team +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +// ============================================================================ +// declarations +// ============================================================================ + +// ---------------------------------------------------------------------------- +// headers +// ---------------------------------------------------------------------------- + +// for compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifndef WX_PRECOMP + #include "wx/window.h" +#endif //WX_PRECOMP + +#include "wx/private/textmeasure.h" + +#include "wx/fontutil.h" +#include "wx/gtk/private.h" + +#ifndef __WXGTK3__ + #include "wx/gtk/dcclient.h" +#endif + +// ============================================================================ +// wxTextMeasure implementation +// ============================================================================ + +void wxTextMeasure::Init() +{ + wxASSERT_MSG( m_font, wxT("wxTextMeasure needs a valid wxFont") ); + +#ifndef __WXGTK3__ + m_wdc = NULL; +#endif // GTK+ < 3 + m_context = NULL; + m_layout = NULL; +} + +// Get Gtk needed elements, if we have not them yet. +void wxTextMeasure::BeginMeasuring() +{ + if ( m_dc ) + { +#ifndef __WXGTK3__ + m_wdc = wxDynamicCast(m_dc->GetImpl(), wxWindowDCImpl); + if ( m_wdc ) + { + m_context = m_wdc->m_context; + m_layout = m_wdc->m_layout; + } +#endif // GTK+ < 3 + } + else if ( m_win ) + { + m_context = gtk_widget_get_pango_context( m_win->GetHandle() ); + if ( m_context ) + m_layout = pango_layout_new(m_context); + } + + // set the font to use + if ( m_layout ) + { + pango_layout_set_font_description(m_layout, + m_font->GetNativeFontInfo()->description); + } +} + +void wxTextMeasure::EndMeasuring() +{ + if ( !m_layout ) + return; + +#ifndef __WXGTK3__ + if ( m_wdc ) + { + // Reset dc own font description + pango_layout_set_font_description( m_wdc->m_layout, m_wdc->m_fontdesc ); + } + else +#endif // GTK+ < 3 + { + g_object_unref (m_layout); + } +} + +// Notice we don't check here the font. It is supposed to be OK before the call. +void wxTextMeasure::DoGetTextExtent(const wxString& string, + wxCoord *width, + wxCoord *height, + wxCoord *descent, + wxCoord *externalLeading) +{ + if ( !m_context ) + { + *width = + *height = 0; + return; + } + + // Set layout's text + const wxCharBuffer dataUTF8 = wxGTK_CONV_FONT(string, *m_font); + if ( !dataUTF8 ) + { + // hardly ideal, but what else can we do if conversion failed? + wxLogLastError(wxT("GetTextExtent")); + return; + } + pango_layout_set_text(m_layout, dataUTF8, -1); + + if ( m_dc ) + { + // in device units + pango_layout_get_pixel_size(m_layout, width, height); + } + else // win + { + // the logical rect bounds the ink rect + PangoRectangle rect; + pango_layout_get_extents(m_layout, NULL, &rect); + *width = PANGO_PIXELS(rect.width); + *height = PANGO_PIXELS(rect.height); + } + + if (descent) + { + PangoLayoutIter *iter = pango_layout_get_iter(m_layout); + int baseline = pango_layout_iter_get_baseline(iter); + pango_layout_iter_free(iter); + *descent = *height - PANGO_PIXELS(baseline); + } + + if (externalLeading) + { + // No support for MSW-like "external leading" in Pango. + *externalLeading = 0; + } +} + +bool wxTextMeasure::DoGetPartialTextExtents(const wxString& text, + wxArrayInt& widths, + double WXUNUSED(scaleX)) +{ + // Set layout's text + const wxCharBuffer dataUTF8 = wxGTK_CONV_FONT(text, *m_font); + if ( !dataUTF8 ) + { + // hardly ideal, but what else can we do if conversion failed? + wxLogLastError(wxT("GetPartialTextExtents")); + return false; + } + + pango_layout_set_text(m_layout, dataUTF8, -1); + + // Calculate the position of each character based on the widths of + // the previous characters + + // Code borrowed from Scintilla's PlatGTK + PangoLayoutIter *iter = pango_layout_get_iter(m_layout); + PangoRectangle pos; + pango_layout_iter_get_cluster_extents(iter, NULL, &pos); + size_t i = 0; + while (pango_layout_iter_next_cluster(iter)) + { + pango_layout_iter_get_cluster_extents(iter, NULL, &pos); + int position = PANGO_PIXELS(pos.x); + widths[i++] = position; + } + + const size_t len = text.length(); + while (i < len) + widths[i++] = PANGO_PIXELS(pos.x + pos.width); + pango_layout_iter_free(iter); + + return true; +} diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index 2542985379..978f556ca7 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -43,6 +43,7 @@ #include "wx/gtk/private/gtk2-compat.h" #include "wx/gtk/private/event.h" #include "wx/gtk/private/win_gtk.h" +#include "wx/private/textmeasure.h" using namespace wxGTKImpl; #ifdef GDK_WINDOWING_X11 @@ -3080,52 +3081,18 @@ void wxWindowGTK::DoGetTextExtent( const wxString& string, int *externalLeading, const wxFont *theFont ) const { - wxFont fontToUse = theFont ? *theFont : GetFont(); + // ensure we work with a valid font + wxFont fontToUse; + if ( !theFont || !theFont->IsOk() ) + fontToUse = GetFont(); + else + fontToUse = *theFont; wxCHECK_RET( fontToUse.IsOk(), wxT("invalid font") ); - if (string.empty()) - { - if (x) (*x) = 0; - if (y) (*y) = 0; - return; - } - - PangoContext *context = NULL; - if (m_widget) - context = gtk_widget_get_pango_context( m_widget ); - - if (!context) - { - if (x) (*x) = 0; - if (y) (*y) = 0; - return; - } - - PangoFontDescription *desc = fontToUse.GetNativeFontInfo()->description; - PangoLayout *layout = pango_layout_new(context); - pango_layout_set_font_description(layout, desc); - { - const wxCharBuffer data = wxGTK_CONV( string ); - if ( data ) - pango_layout_set_text(layout, data, strlen(data)); - } - - PangoRectangle rect; - pango_layout_get_extents(layout, NULL, &rect); - - if (x) (*x) = (wxCoord) PANGO_PIXELS(rect.width); - if (y) (*y) = (wxCoord) PANGO_PIXELS(rect.height); - if (descent) - { - PangoLayoutIter *iter = pango_layout_get_iter(layout); - int baseline = pango_layout_iter_get_baseline(iter); - pango_layout_iter_free(iter); - *descent = *y - PANGO_PIXELS(baseline); - } - if (externalLeading) (*externalLeading) = 0; // ?? - - g_object_unref (layout); + const wxWindow* win = static_cast(this); + wxTextMeasure txm(win, &fontToUse); + txm.GetTextExtent(string, x, y, descent, externalLeading); } void wxWindowGTK::GTKDisableFocusOutEvent() diff --git a/src/msw/dc.cpp b/src/msw/dc.cpp index 077d9594ce..fc47bd9a5a 100644 --- a/src/msw/dc.cpp +++ b/src/msw/dc.cpp @@ -51,6 +51,7 @@ #include #include "wx/msw/private/dc.h" +#include "wx/private/textmeasure.h" using namespace wxMSWImpl; @@ -1857,109 +1858,19 @@ void wxMSWDCImpl::DoGetTextExtent(const wxString& string, wxCoord *x, wxCoord *y } #endif // __WXMICROWIN__ - HFONT hfontOld; - if ( font ) - { - wxASSERT_MSG( font->IsOk(), wxT("invalid font in wxMSWDCImpl::GetTextExtent") ); + wxASSERT_MSG( !font || font->IsOk(), wxT("invalid font in wxMSWDCImpl::GetTextExtent") ); - hfontOld = (HFONT)::SelectObject(GetHdc(), GetHfontOf(*font)); - } - else // don't change the font - { - hfontOld = 0; - } - - SIZE sizeRect; - const size_t len = string.length(); - if ( !::GetTextExtentPoint32(GetHdc(), string.t_str(), len, &sizeRect) ) - { - wxLogLastError(wxT("GetTextExtentPoint32()")); - } - -#if !defined(_WIN32_WCE) || (_WIN32_WCE >= 400) - // the result computed by GetTextExtentPoint32() may be too small as it - // accounts for under/overhang of the first/last character while we want - // just the bounding rect for this string so adjust the width as needed - // (using API not available in 2002 SDKs of WinCE) - if ( len > 0 ) - { - ABC width; - const wxChar chFirst = *string.begin(); - if ( ::GetCharABCWidths(GetHdc(), chFirst, chFirst, &width) ) - { - if ( width.abcA < 0 ) - sizeRect.cx -= width.abcA; - - if ( len > 1 ) - { - const wxChar chLast = *string.rbegin(); - ::GetCharABCWidths(GetHdc(), chLast, chLast, &width); - } - //else: we already have the width of the last character - - if ( width.abcC < 0 ) - sizeRect.cx -= width.abcC; - } - //else: GetCharABCWidths() failed, not a TrueType font? - } -#endif // !defined(_WIN32_WCE) || (_WIN32_WCE >= 400) - - if (x) - *x = sizeRect.cx; - if (y) - *y = sizeRect.cy; - - if ( descent || externalLeading ) - { - DoGetFontMetrics(NULL, NULL, descent, NULL, externalLeading, NULL); - } - - if ( hfontOld ) - { - ::SelectObject(GetHdc(), hfontOld); - } + wxTextMeasure txm(GetOwner(), font); + txm.GetTextExtent(string, x, y, descent, externalLeading); } -// Each element of the array will be the width of the string up to and -// including the coresoponding character in text. - bool wxMSWDCImpl::DoGetPartialTextExtents(const wxString& text, wxArrayInt& widths) const { - static int maxLenText = -1; - static int maxWidth = -1; - int fit = 0; - SIZE sz = {0,0}; - int stlen = text.length(); + wxCHECK_MSG( GetFont().IsOk(), false, wxT("Invalid font") ); - if (maxLenText == -1) - { - // Win9x and WinNT+ have different limits - int version = wxGetOsVersion(); - maxLenText = version == wxOS_WINDOWS_NT ? 65535 : 8192; - maxWidth = version == wxOS_WINDOWS_NT ? INT_MAX : 32767; - } - - widths.Empty(); - widths.Add(0, stlen); // fill the array with zeros - if (stlen == 0) - return true; - - if (!::GetTextExtentExPoint(GetHdc(), - text.c_str(), // string to check - wxMin(stlen, maxLenText), - maxWidth, - &fit, // [out] count of chars - // that will fit - &widths[0], // array to fill - &sz)) - { - // API failed - wxLogLastError(wxT("GetTextExtentExPoint")); - return false; - } - - return true; + wxTextMeasure txm(GetOwner(), NULL); // don't change the font + return txm.GetPartialTextExtents(text, widths, 1.0); } namespace diff --git a/src/msw/textmeasure.cpp b/src/msw/textmeasure.cpp new file mode 100644 index 0000000000..c2b364a978 --- /dev/null +++ b/src/msw/textmeasure.cpp @@ -0,0 +1,172 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: src/msw/textmeasure.cpp +// Purpose: wxTextMeasure implementation for wxMSW +// Author: Manuel Martin +// Created: 2012-19-05 +// RCS-ID: +// Copyright: +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +// ============================================================================ +// declarations +// ============================================================================ + +// ---------------------------------------------------------------------------- +// headers +// ---------------------------------------------------------------------------- + +// for compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#include "wx/msw/private.h" +#include "wx/msw/dc.h" + +#ifndef WX_PRECOMP + #include "wx/window.h" + #include "wx/font.h" +#endif //WX_PRECOMP + +#include "wx/private/textmeasure.h" + +// ============================================================================ +// wxTextMeasure implementation +// ============================================================================ + +void wxTextMeasure::Init() +{ + m_hdc = NULL; + m_hfontOld = NULL; +} + +void wxTextMeasure::BeginMeasuring() +{ + if ( m_dc ) + { + m_hdc = m_dc->GetHDC(); + + // Non-native wxDC subclasses should override their DoGetTextExtent() + // and other methods. + wxASSERT_MSG( m_hdc, wxS("Must not be used with non-native wxDCs") ); + } + else if ( m_win ) + { + m_hdc = ::GetDC(GetHwndOf(m_win)); + } + + if ( m_font ) + m_hfontOld = (HFONT)::SelectObject(m_hdc, GetHfontOf(*m_font)); +} + +void wxTextMeasure::EndMeasuring() +{ + if ( m_hfontOld ) + { + ::SelectObject(m_hdc, m_hfontOld); + m_hfontOld = NULL; + } + + if ( m_win ) + ::ReleaseDC(GetHwndOf(m_win), m_hdc); + //else: our HDC belongs to m_dc, don't touch it + + m_hdc = NULL; +} + +// Notice we don't check here the font. It is supposed to be OK before the call. +void wxTextMeasure::DoGetTextExtent(const wxString& string, + wxCoord *width, + wxCoord *height, + wxCoord *descent, + wxCoord *externalLeading) +{ + SIZE sizeRect; + const size_t len = string.length(); + if ( !::GetTextExtentPoint32(m_hdc, string.t_str(), len, &sizeRect) ) + { + wxLogLastError(wxT("GetTextExtentPoint32()")); + } + +#if !defined(_WIN32_WCE) || (_WIN32_WCE >= 400) + // the result computed by GetTextExtentPoint32() may be too small as it + // accounts for under/overhang of the first/last character while we want + // just the bounding rect for this string so adjust the width as needed + // (using API not available in 2002 SDKs of WinCE) + if ( len > 0 ) + { + ABC widthABC; + const wxChar chFirst = *string.begin(); + if ( ::GetCharABCWidths(m_hdc, chFirst, chFirst, &widthABC) ) + { + if ( widthABC.abcA < 0 ) + sizeRect.cx -= widthABC.abcA; + + if ( len > 1 ) + { + const wxChar chLast = *string.rbegin(); + ::GetCharABCWidths(m_hdc, chLast, chLast, &widthABC); + } + //else: we already have the width of the last character + + if ( widthABC.abcC < 0 ) + sizeRect.cx -= widthABC.abcC; + } + //else: GetCharABCWidths() failed, not a TrueType font? + } +#endif // !defined(_WIN32_WCE) || (_WIN32_WCE >= 400) + + *width = sizeRect.cx; + *height = sizeRect.cy; + + if ( descent || externalLeading ) + { + TEXTMETRIC tm; + ::GetTextMetrics(m_hdc, &tm); + if ( descent ) + *descent = tm.tmDescent; + if ( externalLeading ) + *externalLeading = tm.tmExternalLeading; + } +} + +bool wxTextMeasure::DoGetPartialTextExtents(const wxString& text, + wxArrayInt& widths, + double WXUNUSED(scaleX)) +{ + static int maxLenText = -1; + static int maxWidth = -1; + + if (maxLenText == -1) + { + // Win9x and WinNT+ have different limits + int version = wxGetOsVersion(); + maxLenText = version == wxOS_WINDOWS_NT ? 65535 : 8192; + maxWidth = version == wxOS_WINDOWS_NT ? INT_MAX : 32767; + } + + int len = text.length(); + if ( len > maxLenText ) + len = maxLenText; + + int fit = 0; + SIZE sz = {0,0}; + if ( !::GetTextExtentExPoint(m_hdc, + text.t_str(), // string to check + len, + maxWidth, + &fit, // [out] count of chars + // that will fit + &widths[0], // array to fill + &sz) ) + { + wxLogLastError(wxT("GetTextExtentExPoint")); + + return false; + } + + return true; +} diff --git a/src/msw/window.cpp b/src/msw/window.cpp index 67ee3d37f7..782d8c442e 100644 --- a/src/msw/window.cpp +++ b/src/msw/window.cpp @@ -81,6 +81,7 @@ #include "wx/msw/private.h" #include "wx/msw/private/keyboard.h" #include "wx/msw/dcclient.h" +#include "wx/private/textmeasure.h" #if wxUSE_TOOLTIPS #include "wx/tooltip.h" @@ -2164,31 +2165,18 @@ void wxWindowMSW::DoGetTextExtent(const wxString& string, int *externalLeading, const wxFont *fontToUse) const { - wxASSERT_MSG( !fontToUse || fontToUse->IsOk(), - wxT("invalid font in GetTextExtent()") ); - - HFONT hfontToUse; - if ( fontToUse ) - hfontToUse = GetHfontOf(*fontToUse); + // ensure we work with a valid font + wxFont font; + if ( !fontToUse || !fontToUse->IsOk() ) + font = GetFont(); else - hfontToUse = GetHfontOf(GetFont()); + font = *fontToUse; - WindowHDC hdc(GetHwnd()); - SelectInHDC selectFont(hdc, hfontToUse); + wxCHECK_RET( font.IsOk(), wxT("invalid font in GetTextExtent()") ); - SIZE sizeRect; - TEXTMETRIC tm; - ::GetTextExtentPoint32(hdc, string.t_str(), string.length(), &sizeRect); - GetTextMetrics(hdc, &tm); - - if ( x ) - *x = sizeRect.cx; - if ( y ) - *y = sizeRect.cy; - if ( descent ) - *descent = tm.tmDescent; - if ( externalLeading ) - *externalLeading = tm.tmExternalLeading; + const wxWindow* win = static_cast(this); + wxTextMeasure txm(win, &font); + txm.GetTextExtent(string, x, y, descent, externalLeading); } // --------------------------------------------------------------------------- diff --git a/tests/graphics/measuring.cpp b/tests/graphics/measuring.cpp index 1a2f5e16e8..dbf032bee0 100644 --- a/tests/graphics/measuring.cpp +++ b/tests/graphics/measuring.cpp @@ -1,10 +1,11 @@ /////////////////////////////////////////////////////////////////////////////// // Name: tests/graphics/measuring.cpp // Purpose: Tests for wxGraphicsRenderer::CreateMeasuringContext -// Author: Kevin Ollivier +// Author: Kevin Ollivier, Vadim Zeitlin (non wxGC parts) // Created: 2008-02-12 // RCS-ID: $Id$ // Copyright: (c) 2008 Kevin Ollivier +// (c) 2012 Vadim Zeitlin /////////////////////////////////////////////////////////////////////////////// // ---------------------------------------------------------------------------- @@ -13,9 +14,6 @@ #include "testprec.h" -// wxCairoRenderer::CreateMeasuringContext() is not implement for wxX11 -#if wxUSE_GRAPHICS_CONTEXT && !defined(__WXX11__) - #ifdef __BORLANDC__ #pragma hdrstop #endif @@ -26,37 +24,100 @@ #include "wx/window.h" #endif // WX_PRECOMP -#include "wx/graphics.h" +// wxCairoRenderer::CreateMeasuringContext() is not implement for wxX11 +#if wxUSE_GRAPHICS_CONTEXT && !defined(__WXX11__) + #include "wx/graphics.h" + #define TEST_GC +#endif + +#include "wx/dcclient.h" + // ---------------------------------------------------------------------------- // test class // ---------------------------------------------------------------------------- -class MeasuringContextTestCase : public CppUnit::TestCase +class MeasuringTextTestCase : public CppUnit::TestCase { public: - MeasuringContextTestCase() { } + MeasuringTextTestCase() { } private: - CPPUNIT_TEST_SUITE( MeasuringContextTestCase ); - CPPUNIT_TEST( GetTextExtent ); + CPPUNIT_TEST_SUITE( MeasuringTextTestCase ); + CPPUNIT_TEST( DCGetTextExtent ); + CPPUNIT_TEST( WindowGetTextExtent ); + CPPUNIT_TEST( GetPartialTextExtent ); +#ifdef TEST_GC + CPPUNIT_TEST( GraphicsGetTextExtent ); +#endif // TEST_GC CPPUNIT_TEST_SUITE_END(); - void GetTextExtent(); + template + void DoTestGetTextExtent(const T& obj); - DECLARE_NO_COPY_CLASS(MeasuringContextTestCase) + void DCGetTextExtent(); + void WindowGetTextExtent(); + + void GetPartialTextExtent(); + +#ifdef TEST_GC + void GraphicsGetTextExtent(); +#endif // TEST_GC + + DECLARE_NO_COPY_CLASS(MeasuringTextTestCase) }; // register in the unnamed registry so that these tests are run by default -CPPUNIT_TEST_SUITE_REGISTRATION( MeasuringContextTestCase ); +CPPUNIT_TEST_SUITE_REGISTRATION( MeasuringTextTestCase ); // also include in its own registry so that these tests can be run alone -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( MeasuringContextTestCase, "MeasuringContextTestCase" ); +CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( MeasuringTextTestCase, "MeasuringTextTestCase" ); // ---------------------------------------------------------------------------- // tests themselves // ---------------------------------------------------------------------------- -void MeasuringContextTestCase::GetTextExtent() +template +void MeasuringTextTestCase::DoTestGetTextExtent(const T& obj) +{ + // Test that getting the height only doesn't crash. + int y; + obj.GetTextExtent("H", NULL, &y); + + CPPUNIT_ASSERT( y > 1 ); + + wxSize size = obj.GetTextExtent("Hello"); + CPPUNIT_ASSERT( size.x > 1 ); + CPPUNIT_ASSERT_EQUAL( y, size.y ); +} + +void MeasuringTextTestCase::DCGetTextExtent() +{ + wxClientDC dc(wxTheApp->GetTopWindow()); + + DoTestGetTextExtent(dc); +} + +void MeasuringTextTestCase::WindowGetTextExtent() +{ + wxWindow* const win = wxTheApp->GetTopWindow(); + + DoTestGetTextExtent(*win); +} + +void MeasuringTextTestCase::GetPartialTextExtent() +{ + wxClientDC dc(wxTheApp->GetTopWindow()); + + wxArrayInt widths; + CPPUNIT_ASSERT( dc.GetPartialTextExtents("Hello", widths) ); + CPPUNIT_ASSERT_EQUAL( 5, widths.size() ); + CPPUNIT_ASSERT_EQUAL( widths[0], dc.GetTextExtent("H").x ); + CPPUNIT_ASSERT_EQUAL( widths[4], dc.GetTextExtent("Hello").x ); +} + +#ifdef TEST_GC + +void MeasuringTextTestCase::GraphicsGetTextExtent() { wxGraphicsRenderer* renderer = wxGraphicsRenderer::GetDefaultRenderer(); CPPUNIT_ASSERT(renderer); @@ -74,4 +135,4 @@ void MeasuringContextTestCase::GetTextExtent() } -#endif +#endif // TEST_GC