patch: XAP_app* in GR_Graphics object


Subject: patch: XAP_app* in GR_Graphics object
From: WJCarpenter (bill-abisource@carpenter.ORG)
Date: Fri Jul 07 2000 - 18:25:13 CDT


This patch, against 070700 nightly sources, does three things.

================================================================

The patch adds an XAP_App* m_pApp member to the GR_Graphics class.
Complications come in, and the patch is so big, because the
constructor for GR_Graphics is never called directly. Instead,
constructors are called for application-specific graphics classes
derived from it:

        GR_BeOSGraphics
        MacGraphics
        GR_QNXGraphics
        GR_UnixGraphics
        GR_Win32Graphics
        PS_Graphics

So, signatures for the constructors for those classes were changed to
also take an XAP_App* argument. I have tested the XP and Linux
versions. Code changes have been made for all platforms, but I can't
build them here. So, CAUTION, THE BUILD MIGHT BREAK ON THOSE
PLATFORMS. Hopefully, if it breaks it will be due to trivial typos or
forgotten-to-#include headers.

================================================================

The patch adds a tick counter to XAP_PrefsScheme objects. The tick is
incremented every time any preference value is changed in that scheme.
This is useful if an object needs to cache a preference value for
performance reasons or whatever. If the scheme pointer is the same
and the tick count is the same, the preferences haven't changed and
the cached value is legit. Otherwise, the cached value is stale and
should be refreshed. (Yeah, yeah, performance things shouldn't matter
enough to create a need for this caching, but glyph remapping will in
the worst case check 2-3 preference values at least twice for each
glyph being rendered. Hash table or not, that's a lot of lookups.)

================================================================

The patch adds but does not use (except for some UT_DEBUG()) four
preference values which will soon be used for glyph remapping:

        RemapGlyphsDefault="°"
        RemapGlyphsMasterSwitch="1"
        RemapGlyphsNoMatterWhat="0"
        RemapGlyphsTable="‘`’'“"”""

================================================================

The first two changes are needed to accommodate upcoming use of the
third items for remapped glyphs / smart quotes.

-- 
bill@carpenter.ORG (WJCarpenter)    PGP 0x91865119
38 95 1B 69 C9 C6 3D 25    73 46 32 04 69 D6 ED F3

diff -ru abi-070700-ORIG/src/af/gr/beos/gr_BeOSGraphics.cpp abi-070700/src/af/gr/beos/gr_BeOSGraphics.cpp --- abi-070700-ORIG/src/af/gr/beos/gr_BeOSGraphics.cpp Thu Jul 6 13:20:37 2000 +++ abi-070700/src/af/gr/beos/gr_BeOSGraphics.cpp Fri Jul 7 12:59:21 2000 @@ -54,7 +54,8 @@ } #endif -GR_BeOSGraphics::GR_BeOSGraphics(BView *docview) { +GR_BeOSGraphics::GR_BeOSGraphics(BView *docview, XAP_App * app) { + m_pApp = app; m_pShadowView = NULL; m_pShadowBitmap = NULL; m_pBeOSFont = NULL; diff -ru abi-070700-ORIG/src/af/gr/beos/gr_BeOSGraphics.h abi-070700/src/af/gr/beos/gr_BeOSGraphics.h --- abi-070700-ORIG/src/af/gr/beos/gr_BeOSGraphics.h Fri Jun 30 21:48:47 2000 +++ abi-070700/src/af/gr/beos/gr_BeOSGraphics.h Fri Jul 7 13:00:06 2000 @@ -36,7 +36,7 @@ class GR_BeOSGraphics : public GR_Graphics { public: - GR_BeOSGraphics(BView *front); + GR_BeOSGraphics(BView *front, XAP_App *app); ~GR_BeOSGraphics(); virtual void drawChars(const UT_UCSChar* pChars, int iCharOffset, diff -ru abi-070700-ORIG/src/af/gr/mac/gr_MacGraphics.h abi-070700/src/af/gr/mac/gr_MacGraphics.h --- abi-070700-ORIG/src/af/gr/mac/gr_MacGraphics.h Fri Jun 30 21:48:47 2000 +++ abi-070700/src/af/gr/mac/gr_MacGraphics.h Fri Jul 7 12:57:29 2000 @@ -39,7 +39,7 @@ class MacGraphics : public GR_Graphics { public: - MacGraphics(); /* for screen */ + MacGraphics(XAP_App * app); /* for screen */ ~MacGraphics(); virtual void drawChars(const UT_UCSChar* pChars, diff -ru abi-070700-ORIG/src/af/gr/qnx/gr_QNXGraphics.cpp abi-070700/src/af/gr/qnx/gr_QNXGraphics.cpp --- abi-070700-ORIG/src/af/gr/qnx/gr_QNXGraphics.cpp Fri Jun 30 21:48:47 2000 +++ abi-070700/src/af/gr/qnx/gr_QNXGraphics.cpp Fri Jul 7 13:40:17 2000 @@ -108,8 +108,9 @@ return 0; } -GR_QNXGraphics::GR_QNXGraphics(PtWidget_t * win, PtWidget_t * draw) +GR_QNXGraphics::GR_QNXGraphics(PtWidget_t * win, PtWidget_t * draw, XAP_App *app) { + m_pApp = app; m_pWin = win; m_pDraw = draw; m_pFont = NULL; diff -ru abi-070700-ORIG/src/af/gr/qnx/gr_QNXGraphics.h abi-070700/src/af/gr/qnx/gr_QNXGraphics.h --- abi-070700-ORIG/src/af/gr/qnx/gr_QNXGraphics.h Fri Jun 30 21:48:47 2000 +++ abi-070700/src/af/gr/qnx/gr_QNXGraphics.h Fri Jul 7 13:40:41 2000 @@ -50,7 +50,7 @@ class GR_QNXGraphics : public GR_Graphics { public: - GR_QNXGraphics(PtWidget_t * win, PtWidget_t * draw); + GR_QNXGraphics(PtWidget_t * win, PtWidget_t * draw, XAP_App * app); ~GR_QNXGraphics(); virtual void drawChar(UT_UCSChar Char, UT_sint32 xoff, UT_sint32 yoff); diff -ru abi-070700-ORIG/src/af/gr/unix/gr_UnixGraphics.cpp abi-070700/src/af/gr/unix/gr_UnixGraphics.cpp --- abi-070700-ORIG/src/af/gr/unix/gr_UnixGraphics.cpp Fri Jun 30 14:35:25 2000 +++ abi-070700/src/af/gr/unix/gr_UnixGraphics.cpp Fri Jul 7 09:45:13 2000 @@ -35,8 +35,9 @@ #include "ut_string.h" #include "ut_dialogHelper.h" -GR_UnixGraphics::GR_UnixGraphics(GdkWindow * win, XAP_UnixFontManager * fontManager) +GR_UnixGraphics::GR_UnixGraphics(GdkWindow * win, XAP_UnixFontManager * fontManager, XAP_App * app) { + m_pApp = app; m_pWin = win; m_pFontManager = fontManager; m_pFont = NULL; diff -ru abi-070700-ORIG/src/af/gr/unix/gr_UnixGraphics.h abi-070700/src/af/gr/unix/gr_UnixGraphics.h --- abi-070700-ORIG/src/af/gr/unix/gr_UnixGraphics.h Fri Jun 30 14:35:25 2000 +++ abi-070700/src/af/gr/unix/gr_UnixGraphics.h Fri Jul 7 09:45:56 2000 @@ -31,7 +31,7 @@ class GR_UnixGraphics : public GR_Graphics { public: - GR_UnixGraphics(GdkWindow * win, XAP_UnixFontManager * fontManager); + GR_UnixGraphics(GdkWindow * win, XAP_UnixFontManager * fontManager, XAP_App *app); ~GR_UnixGraphics(); // HACK: I need more speed diff -ru abi-070700-ORIG/src/af/gr/win/gr_Win32Graphics.cpp abi-070700/src/af/gr/win/gr_Win32Graphics.cpp --- abi-070700-ORIG/src/af/gr/win/gr_Win32Graphics.cpp Fri Jun 30 21:48:48 2000 +++ abi-070700/src/af/gr/win/gr_Win32Graphics.cpp Fri Jul 7 13:53:56 2000 @@ -48,15 +48,17 @@ setCursor(GR_CURSOR_DEFAULT); } -GR_Win32Graphics::GR_Win32Graphics(HDC hdc, HWND hwnd) +GR_Win32Graphics::GR_Win32Graphics(HDC hdc, HWND hwnd, XAP_App * app) { _constructorCommonCode(hdc); + m_App = app; m_hwnd = hwnd; } -GR_Win32Graphics::GR_Win32Graphics(HDC hdc, const DOCINFO * pDocInfo) +GR_Win32Graphics::GR_Win32Graphics(HDC hdc, const DOCINFO * pDocInfo, XAP_App * app) { _constructorCommonCode(hdc); + m_App = app; m_bPrint = UT_TRUE; m_pDocInfo = pDocInfo; } diff -ru abi-070700-ORIG/src/af/gr/win/gr_Win32Graphics.h abi-070700/src/af/gr/win/gr_Win32Graphics.h --- abi-070700-ORIG/src/af/gr/win/gr_Win32Graphics.h Fri Jun 30 21:48:48 2000 +++ abi-070700/src/af/gr/win/gr_Win32Graphics.h Fri Jul 7 13:54:39 2000 @@ -59,8 +59,8 @@ class GR_Win32Graphics : public GR_Graphics { public: - GR_Win32Graphics(HDC, HWND); /* for screen */ - GR_Win32Graphics(HDC, const DOCINFO *); /* for printing */ + GR_Win32Graphics(HDC, HWND, XAP_App *); /* for screen */ + GR_Win32Graphics(HDC, const DOCINFO *, XAP_App *); /* for printing */ ~GR_Win32Graphics(); virtual void drawChar(UT_UCSChar Char, UT_sint32 xoff, UT_sint32 yoff); diff -ru abi-070700-ORIG/src/af/gr/xp/gr_Graphics.cpp abi-070700/src/af/gr/xp/gr_Graphics.cpp --- abi-070700-ORIG/src/af/gr/xp/gr_Graphics.cpp Fri Jun 30 14:35:26 2000 +++ abi-070700/src/af/gr/xp/gr_Graphics.cpp Fri Jul 7 15:48:56 2000 @@ -21,6 +21,8 @@ #include <math.h> #include <string.h> +#include "xap_App.h" +#include "xap_Prefs.h" #include "gr_Graphics.h" #include "ut_assert.h" #include "ut_string.h" @@ -38,6 +40,7 @@ GR_Graphics::GR_Graphics() { + m_pApp = 0; m_iZoomPercentage = 100; m_bLayoutResolutionModeEnabled = UT_FALSE; } @@ -107,6 +110,11 @@ // and visible. This is most useful for the smart quote // characters, which are specially treated. Other zero-width // characters are mapped to a generic filler character. + if (!m_pApp) + { + UT_DEBUGMSG(("m_pApp in GR_Graphics object is null, glyphs not remapped\n")); + return actual; + } UT_UCSChar remap = actual; unsigned short w = 1; @@ -122,7 +130,10 @@ default: remap = (w ? actual : 0xB0); break; } } - if (remap != actual) UT_DEBUGMSG(("remapGlyph 0x%04X -> 0x%04X %d %d\n", actual, remap, noMatterWhat, w)); + XAP_Prefs *p = m_pApp->getPrefs(); + XAP_PrefsScheme *s = p->getCurrentScheme(UT_FALSE); + UT_uint32 t = s->getTickCount(); + if (remap != actual) UT_DEBUGMSG(("remapGlyph 0x%04X -> 0x%04X %d %d tick: %d [%d]\n", actual, remap, noMatterWhat, w, t, s)); return remap; } diff -ru abi-070700-ORIG/src/af/gr/xp/gr_Graphics.h abi-070700/src/af/gr/xp/gr_Graphics.h --- abi-070700-ORIG/src/af/gr/xp/gr_Graphics.h Fri Jun 30 14:35:26 2000 +++ abi-070700/src/af/gr/xp/gr_Graphics.h Fri Jul 7 09:47:01 2000 @@ -26,6 +26,7 @@ #include "gr_Image.h" class UT_RGBColor; +class XAP_App; /* GR_Font is a reference to a font. As it happens, everything about fonts @@ -193,6 +194,7 @@ protected: virtual UT_uint32 _getResolution(void) const = 0; + XAP_App * m_pApp; UT_uint32 m_iZoomPercentage; UT_Bool m_bLayoutResolutionModeEnabled; diff -ru abi-070700-ORIG/src/af/xap/beos/xap_BeOSDlg_Zoom.cpp abi-070700/src/af/xap/beos/xap_BeOSDlg_Zoom.cpp --- abi-070700-ORIG/src/af/xap/beos/xap_BeOSDlg_Zoom.cpp Wed Dec 8 14:19:02 1999 +++ abi-070700/src/af/xap/beos/xap_BeOSDlg_Zoom.cpp Fri Jul 7 13:06:07 2000 @@ -147,7 +147,7 @@ m_CustomText=(BTextControl *)FindView("custxt"); Show(); //Create our preview window graphics - m_BeOSGraphics=new GR_BeOSGraphics(preview); + m_BeOSGraphics=new GR_BeOSGraphics(preview, dlg->m_pApp); if (preview->Window()->Lock()) { dlg->_createPreviewFromGC(m_BeOSGraphics,preview->Frame().Width(),preview->Frame().Height()); diff -ru abi-070700-ORIG/src/af/xap/qnx/xap_QNXDlg_About.cpp abi-070700/src/af/xap/qnx/xap_QNXDlg_About.cpp --- abi-070700-ORIG/src/af/xap/qnx/xap_QNXDlg_About.cpp Mon Jun 19 07:59:03 2000 +++ abi-070700/src/af/xap/qnx/xap_QNXDlg_About.cpp Fri Jul 7 13:42:07 2000 @@ -154,7 +154,7 @@ // attach a new graphics context - m_gc = new GR_QNXGraphics(mainWindow, m_drawingareaGraphic); + m_gc = new GR_QNXGraphics(mainWindow, m_drawingareaGraphic, pFrame->getApp()); UT_QNXCenterWindow(/*parentWindow | */ NULL, mainWindow); UT_QNXBlockWidget(parentWindow, 1); diff -ru abi-070700-ORIG/src/af/xap/qnx/xap_QNXDlg_Insert_Symbol.cpp abi-070700/src/af/xap/qnx/xap_QNXDlg_Insert_Symbol.cpp --- abi-070700-ORIG/src/af/xap/qnx/xap_QNXDlg_Insert_Symbol.cpp Tue Jun 13 04:15:21 2000 +++ abi-070700/src/af/xap/qnx/xap_QNXDlg_Insert_Symbol.cpp Fri Jul 7 13:43:42 2000 @@ -224,7 +224,7 @@ // make a new QNX GC DELETEP (m_qnxGraphics); - m_qnxGraphics = new GR_QNXGraphics(mainWindow, m_SymbolMap); + m_qnxGraphics = new GR_QNXGraphics(mainWindow, m_SymbolMap, m_pApp); // let the widget materialize TODO: get a real size! UT_QNXGetWidgetArea(m_SymbolMap, NULL, NULL, &w, &h); @@ -232,7 +232,7 @@ // make a new QNX GC DELETEP (m_qnxarea); - m_qnxarea = new GR_QNXGraphics(mainWindow, m_areaCurrentSym ); + m_qnxarea = new GR_QNXGraphics(mainWindow, m_areaCurrentSym, m_pApp); // let the widget materialize UT_QNXGetWidgetArea(m_areaCurrentSym, NULL, NULL, &w, &h); diff -ru abi-070700-ORIG/src/af/xap/qnx/xap_QNXDlg_Zoom.cpp abi-070700/src/af/xap/qnx/xap_QNXDlg_Zoom.cpp --- abi-070700-ORIG/src/af/xap/qnx/xap_QNXDlg_Zoom.cpp Sun May 7 10:42:40 2000 +++ abi-070700/src/af/xap/qnx/xap_QNXDlg_Zoom.cpp Fri Jul 7 13:43:41 2000 @@ -194,7 +194,7 @@ // Populate the window's data items _populateWindowData(); - m_qnxGraphics = new GR_QNXGraphics(mainWindow, m_previewArea); + m_qnxGraphics = new GR_QNXGraphics(mainWindow, m_previewArea, pFrame->getApp()); unsigned short w, h; UT_QNXGetWidgetArea(m_previewArea, NULL, NULL, &w, &h); _createPreviewFromGC(m_qnxGraphics, w, h); diff -ru abi-070700-ORIG/src/af/xap/unix/gnome/xap_UnixGnomeDlg_Zoom.cpp abi-070700/src/af/xap/unix/gnome/xap_UnixGnomeDlg_Zoom.cpp --- abi-070700-ORIG/src/af/xap/unix/gnome/xap_UnixGnomeDlg_Zoom.cpp Thu Dec 2 17:26:14 1999 +++ abi-070700/src/af/xap/unix/gnome/xap_UnixGnomeDlg_Zoom.cpp Fri Jul 7 12:50:39 2000 @@ -164,7 +164,7 @@ UT_ASSERT(m_previewArea && m_previewArea->window); // make a new Unix GC - m_unixGraphics = new GR_UnixGraphics(m_previewArea->window, unixapp->getFontManager()); + m_unixGraphics = new GR_UnixGraphics(m_previewArea->window, unixapp->getFontManager(), m_pApp); // let the widget materialize _createPreviewFromGC(m_unixGraphics, diff -ru abi-070700-ORIG/src/af/xap/unix/xap_UnixDlg_About.cpp abi-070700/src/af/xap/unix/xap_UnixDlg_About.cpp --- abi-070700-ORIG/src/af/xap/unix/xap_UnixDlg_About.cpp Sun Jun 18 18:53:53 2000 +++ abi-070700/src/af/xap/unix/xap_UnixDlg_About.cpp Fri Jul 7 09:48:45 2000 @@ -146,7 +146,8 @@ gtk_grab_add(mainWindow); // attach a new graphics context - m_gc = new GR_UnixGraphics(m_drawingareaGraphic->window, NULL); + XAP_App *pApp = pUnixFrame->getApp(); + m_gc = new GR_UnixGraphics(m_drawingareaGraphic->window, NULL, pApp); // Run into the GTK event loop for this window. gtk_main(); diff -ru abi-070700-ORIG/src/af/xap/unix/xap_UnixDlg_FontChooser.cpp abi-070700/src/af/xap/unix/xap_UnixDlg_FontChooser.cpp --- abi-070700-ORIG/src/af/xap/unix/xap_UnixDlg_FontChooser.cpp Wed May 10 21:16:55 2000 +++ abi-070700/src/af/xap/unix/xap_UnixDlg_FontChooser.cpp Fri Jul 7 09:49:04 2000 @@ -820,7 +820,8 @@ m_doneFirstFont = UT_FALSE; // attach a new graphics context - m_gc = new GR_UnixGraphics(m_preview->window, m_fontManager); + XAP_App *pApp = frame->getApp(); + m_gc = new GR_UnixGraphics(m_preview->window, m_fontManager, pApp); gtk_object_set_user_data(GTK_OBJECT(m_preview), this); // unfreeze updates of the preview diff -ru abi-070700-ORIG/src/af/xap/unix/xap_UnixDlg_Insert_Symbol.cpp abi-070700/src/af/xap/unix/xap_UnixDlg_Insert_Symbol.cpp --- abi-070700-ORIG/src/af/xap/unix/xap_UnixDlg_Insert_Symbol.cpp Sun Jun 18 19:53:48 2000 +++ abi-070700/src/af/xap/unix/xap_UnixDlg_Insert_Symbol.cpp Fri Jul 7 09:49:27 2000 @@ -202,7 +202,7 @@ // make a new Unix GC DELETEP (m_unixGraphics); - m_unixGraphics = new GR_UnixGraphics(m_SymbolMap->window, unixapp->getFontManager()); + m_unixGraphics = new GR_UnixGraphics(m_SymbolMap->window, unixapp->getFontManager(), m_pApp); // let the widget materialize _createSymbolFromGC(m_unixGraphics, @@ -214,7 +214,7 @@ // make a new Unix GC DELETEP (m_unixarea); - m_unixarea = new GR_UnixGraphics(m_areaCurrentSym->window, unixapp->getFontManager()); + m_unixarea = new GR_UnixGraphics(m_areaCurrentSym->window, unixapp->getFontManager(), m_pApp); // let the widget materialize _createSymbolareaFromGC(m_unixarea, diff -ru abi-070700-ORIG/src/af/xap/unix/xap_UnixDlg_Print.cpp abi-070700/src/af/xap/unix/xap_UnixDlg_Print.cpp --- abi-070700-ORIG/src/af/xap/unix/xap_UnixDlg_Print.cpp Fri Jun 23 18:06:17 2000 +++ abi-070700/src/af/xap/unix/xap_UnixDlg_Print.cpp Fri Jul 7 10:08:15 2000 @@ -572,14 +572,14 @@ m_pPSGraphics = new PS_Graphics(m_szPrintToFilePathname, m_szDocumentTitle, m_pUnixFrame->getApp()->getApplicationName(), fontmgr, - UT_TRUE); + UT_TRUE, app); } else { m_pPSGraphics = new PS_Graphics(m_szPrintCommand, m_szDocumentTitle, m_pUnixFrame->getApp()->getApplicationName(), fontmgr, - UT_FALSE); + UT_FALSE, app); } UT_ASSERT(m_pPSGraphics); diff -ru abi-070700-ORIG/src/af/xap/unix/xap_UnixDlg_Zoom.cpp abi-070700/src/af/xap/unix/xap_UnixDlg_Zoom.cpp --- abi-070700-ORIG/src/af/xap/unix/xap_UnixDlg_Zoom.cpp Wed May 10 21:16:55 2000 +++ abi-070700/src/af/xap/unix/xap_UnixDlg_Zoom.cpp Fri Jul 7 10:08:36 2000 @@ -185,7 +185,7 @@ UT_ASSERT(m_previewArea && m_previewArea->window); // make a new Unix GC - m_unixGraphics = new GR_UnixGraphics(m_previewArea->window, unixapp->getFontManager()); + m_unixGraphics = new GR_UnixGraphics(m_previewArea->window, unixapp->getFontManager(), m_pApp); // let the widget materialize _createPreviewFromGC(m_unixGraphics, diff -ru abi-070700-ORIG/src/af/xap/unix/xap_UnixPSGraphics.cpp abi-070700/src/af/xap/unix/xap_UnixPSGraphics.cpp --- abi-070700-ORIG/src/af/xap/unix/xap_UnixPSGraphics.cpp Fri Jun 30 14:35:26 2000 +++ abi-070700/src/af/xap/unix/xap_UnixPSGraphics.cpp Fri Jul 7 10:08:51 2000 @@ -51,9 +51,11 @@ const char * szTitle, const char * szSoftwareNameAndVersion, XAP_UnixFontManager * fontManager, - UT_Bool bIsFile) + UT_Bool bIsFile, + XAP_App *pApp) { UT_ASSERT(szFilename && *szFilename); + m_pApp = pApp; m_szFilename = szFilename; m_szTitle = szTitle; m_szSoftwareNameAndVersion = szSoftwareNameAndVersion; diff -ru abi-070700-ORIG/src/af/xap/unix/xap_UnixPSGraphics.h abi-070700/src/af/xap/unix/xap_UnixPSGraphics.h --- abi-070700-ORIG/src/af/xap/unix/xap_UnixPSGraphics.h Fri Jun 30 14:35:26 2000 +++ abi-070700/src/af/xap/unix/xap_UnixPSGraphics.h Fri Jul 7 10:09:09 2000 @@ -43,7 +43,8 @@ const char * szTitle, const char * szSoftwareNameAndVersion, XAP_UnixFontManager * fontManager, - UT_Bool bIsFile); + UT_Bool bIsFile, + XAP_App *pApp); virtual ~PS_Graphics(); virtual void drawChars(const UT_UCSChar* pChars, diff -ru abi-070700-ORIG/src/af/xap/win/xap_Win32Dlg_Print.cpp abi-070700/src/af/xap/win/xap_Win32Dlg_Print.cpp --- abi-070700-ORIG/src/af/xap/win/xap_Win32Dlg_Print.cpp Sat May 1 01:45:47 1999 +++ abi-070700/src/af/xap/win/xap_Win32Dlg_Print.cpp Fri Jul 7 14:04:09 2000 @@ -68,7 +68,7 @@ m_DocInfo.lpszDocName = m_szDocumentPathname; m_DocInfo.lpszOutput = ((m_bDoPrintToFile) ? m_szPrintToFilePathname : NULL); - GR_Win32Graphics * pGraphics = new GR_Win32Graphics(m_pPersistPrintDlg->hDC,&m_DocInfo); + GR_Win32Graphics * pGraphics = new GR_Win32Graphics(m_pPersistPrintDlg->hDC,&m_DocInfo, m_pApp); return pGraphics; } diff -ru abi-070700-ORIG/src/af/xap/win/xap_Win32PreviewWidget.cpp abi-070700/src/af/xap/win/xap_Win32PreviewWidget.cpp --- abi-070700-ORIG/src/af/xap/win/xap_Win32PreviewWidget.cpp Wed Apr 19 17:52:22 2000 +++ abi-070700/src/af/xap/win/xap_Win32PreviewWidget.cpp Fri Jul 7 14:09:43 2000 @@ -83,7 +83,7 @@ // create a GR_Graphics for this window and HDC - m_pGraphics = new GR_Win32Graphics(GetDC(m_hwndPreview),m_hwndPreview); + m_pGraphics = new GR_Win32Graphics(GetDC(m_hwndPreview),m_hwndPreview, pWin32App->getApp()); UT_ASSERT(m_pGraphics); m_iInstanceCount++; diff -ru abi-070700-ORIG/src/af/xap/xp/xap_Frame.cpp abi-070700/src/af/xap/xp/xap_Frame.cpp --- abi-070700-ORIG/src/af/xap/xp/xap_Frame.cpp Thu May 25 11:52:58 2000 +++ abi-070700/src/af/xap/xp/xap_Frame.cpp Fri Jul 7 10:09:42 2000 @@ -27,6 +27,7 @@ #include "ut_debugmsg.h" #include "ut_vector.h" #include "ut_string.h" +#include "ut_growbuf.h" #include "xap_App.h" #include "xap_Frame.h" #include "xap_Prefs.h" @@ -188,6 +189,32 @@ else szMenuLayoutName = szMenuLayoutDefaultValue; UT_cloneString((char *&)m_szMenuLayoutName,szMenuLayoutName); + + + { + UT_GrowBuf gb; + UT_UCSChar *buf; + const XML_Char *table = 0; + UT_DEBUGMSG(("==============================\n")); + pApp->getPrefsValue((const char *)"RemapGlyphsTable", &table); + UT_decodeUTF8string(table, UT_XML_strlen(table), &gb); + buf = gb.getPointer(0); + for (int i=0; i<gb.getLength(); ++i) + { + UT_DEBUGMSG((" table %2d: 0x%04X %c\n", i, *(buf + i), *(buf + i) < 256 ? *(buf + i) : '-')); + } + //UT_DEBUGMSG(("table |%s|, sizeof XML_Char %d\n", table, sizeof(XML_Char))); + gb.truncate(0); + pApp->getPrefsValue((const char *)"RemapGlyphsDefault", &table); + UT_decodeUTF8string(table, UT_XML_strlen(table), &gb); + buf = gb.getPointer(0); + UT_DEBUGMSG(("default %2d: 0x%04X %c\n", 99, *(buf), *(buf) < 256 ? *(buf) : '-')); + for (int tdex=0; tdex<strlen(table); ++tdex) + { + UT_DEBUGMSG(("utf8 default table[%d]: %x\n", tdex, table[tdex])); + } + UT_DEBUGMSG(("==============================\n")); + } ////////////////////////////////////////////////////////////////// // select language for menu labels diff -ru abi-070700-ORIG/src/af/xap/xp/xap_Prefs.cpp abi-070700/src/af/xap/xp/xap_Prefs.cpp --- abi-070700-ORIG/src/af/xap/xp/xap_Prefs.cpp Wed Jul 5 20:05:18 2000 +++ abi-070700/src/af/xap/xp/xap_Prefs.cpp Fri Jul 7 15:33:06 2000 @@ -33,6 +33,7 @@ : m_hash(13) { m_pPrefs = pPrefs; + m_uTick = 0; if (szSchemeName && *szSchemeName) UT_XML_cloneString((XML_Char *&)m_szName,szSchemeName); @@ -58,6 +59,7 @@ UT_Bool XAP_PrefsScheme::setValue(const XML_Char * szKey, const XML_Char * szValue) { + ++m_uTick; UT_HashEntry * pEntry = m_hash.findEntry(szKey); if (pEntry) { diff -ru abi-070700-ORIG/src/af/xap/xp/xap_Prefs.h abi-070700/src/af/xap/xp/xap_Prefs.h --- abi-070700-ORIG/src/af/xap/xp/xap_Prefs.h Thu Mar 30 02:53:49 2000 +++ abi-070700/src/af/xap/xp/xap_Prefs.h Fri Jul 7 15:33:03 2000 @@ -49,6 +49,15 @@ const XML_Char * getSchemeName(void) const; UT_Bool setSchemeName(const XML_Char * szNewSchemeName); + // The idea of the tick is that some object can cache a preference + // value if it makes a performance difference. It should also save + // a copy of the tick count and the scheme pointer. If the scheme + // pointer and the tick count are the same, the cached preference + // value is current. If either is changed, the object can refresh + // its cached value. The scheme pointer can be different because + // the preference scheme has changed. The tick count bumps up once + // every time any preference value in the scheme is changed. + inline UT_uint32 getTickCount() {return m_uTick;} UT_Bool setValue(const XML_Char * szKey, const XML_Char * szValue); UT_Bool setValueBool(const XML_Char * szKey, UT_Bool bValue); @@ -64,6 +73,7 @@ XML_Char * m_szName; UT_AlphaHashTable m_hash; XAP_Prefs * m_pPrefs; + UT_uint32 m_uTick; // ticks up every time setValue() or setValueBool() is called }; /*****************************************************************/ diff -ru abi-070700-ORIG/src/af/xap/xp/xap_Prefs_SchemeIds.h abi-070700/src/af/xap/xp/xap_Prefs_SchemeIds.h --- abi-070700-ORIG/src/af/xap/xp/xap_Prefs_SchemeIds.h Wed Jul 5 20:05:18 2000 +++ abi-070700/src/af/xap/xp/xap_Prefs_SchemeIds.h Fri Jul 7 10:11:51 2000 @@ -45,11 +45,34 @@ #define XAP_PREF_KEY_UnixFontPath "UnixFontPath" #define XAP_PREF_DEFAULT_UnixFontPath "fonts" /* if relative path, prepend "getAbiSuiteLibDir()" */ +#define XAP_PREF_KEY_RemapGlyphsMasterSwitch "RemapGlyphsMasterSwitch" + /* completely ignore glyph remapping if false */ +#define XAP_PREF_DEFAULT_RemapGlyphsMasterSwitch "1" + +#define XAP_PREF_KEY_RemapGlyphsNoMatterWhat "RemapGlyphsNoMatterWhat" + /* if true, do remap even if originals aren't zero-width */ +#define XAP_PREF_DEFAULT_RemapGlyphsNoMatterWhat "0" + +#define XAP_PREF_KEY_RemapGlyphsDefault "RemapGlyphsDefault" + /* default replacement glyph for originals not mentioned in the table */ +#define XAP_PREF_DEFAULT_RemapGlyphsDefault "&#x00B0;" +/* degree symbol */ + +#define XAP_PREF_KEY_RemapGlyphsTable "RemapGlyphsTable" +/* pairwise table of originals and replacements, arbitrarily many pairs */ +#define XAP_PREF_DEFAULT_RemapGlyphsTable "&#x2018;`&#x2019;'&#x201c;&quot;&#x201d;&quot;" +/* smart quotes */ + #else /* XAP_PREFS_SCHEMEID_H */ #ifdef dcl dcl(ToolbarAppearance) dcl(UnixFontPath) + +dcl(RemapGlyphsMasterSwitch) +dcl(RemapGlyphsNoMatterWhat) +dcl(RemapGlyphsDefault) +dcl(RemapGlyphsTable) #endif /* dcl */ #endif /* XAP_PREFS_SCHEMEID_H */ diff -ru abi-070700-ORIG/src/hello/ap/unix/ap_UnixFrame.cpp abi-070700/src/hello/ap/unix/ap_UnixFrame.cpp --- abi-070700-ORIG/src/hello/ap/unix/ap_UnixFrame.cpp Wed Apr 19 18:52:54 2000 +++ abi-070700/src/hello/ap/unix/ap_UnixFrame.cpp Fri Jul 7 12:51:54 2000 @@ -83,7 +83,7 @@ { XAP_UnixFontManager * fontManager = ((XAP_UnixApp *) getApp())->getFontManager(); - GR_UnixGraphics* pG = new GR_UnixGraphics(m_dArea->window, fontManager); + GR_UnixGraphics* pG = new GR_UnixGraphics(m_dArea->window, fontManager, getApp()); pG->setFont(pG->findFont("times", "normal", NULL, "bold", NULL, "72pt")); diff -ru abi-070700-ORIG/src/hello/ap/unix/ap_UnixStatusBar.cpp abi-070700/src/hello/ap/unix/ap_UnixStatusBar.cpp --- abi-070700-ORIG/src/hello/ap/unix/ap_UnixStatusBar.cpp Thu Apr 8 14:07:04 1999 +++ abi-070700/src/hello/ap/unix/ap_UnixStatusBar.cpp Fri Jul 7 12:52:36 2000 @@ -51,7 +51,7 @@ DELETEP(m_pG); XAP_UnixApp * app = static_cast<XAP_UnixApp *>(m_pFrame->getApp()); XAP_UnixFontManager * fontManager = app->getFontManager(); - GR_UnixGraphics * pG = new GR_UnixGraphics(m_wStatusBar->window, fontManager); + GR_UnixGraphics * pG = new GR_UnixGraphics(m_wStatusBar->window, fontManager, getApp()); m_pG = pG; UT_ASSERT(m_pG); diff -ru abi-070700-ORIG/src/hello/ap/win/ap_Win32Frame.cpp abi-070700/src/hello/ap/win/ap_Win32Frame.cpp --- abi-070700-ORIG/src/hello/ap/win/ap_Win32Frame.cpp Mon Oct 11 18:43:24 1999 +++ abi-070700/src/hello/ap/win/ap_Win32Frame.cpp Fri Jul 7 14:10:28 2000 @@ -305,7 +305,7 @@ UT_Bool AP_Win32Frame::loadDocument(const char * szFilename, int ieft) { - GR_Win32Graphics * pG = new GR_Win32Graphics(GetDC(m_hwndDocument), m_hwndDocument); + GR_Win32Graphics * pG = new GR_Win32Graphics(GetDC(m_hwndDocument), m_hwndDocument, getApp()); pG->setFont(pG->findFont("Times New Roman", "normal", NULL, "bold", NULL, "72pt")); pG->setZoomPercentage(100); diff -ru abi-070700-ORIG/src/hello/ap/win/ap_Win32StatusBar.cpp abi-070700/src/hello/ap/win/ap_Win32StatusBar.cpp --- abi-070700-ORIG/src/hello/ap/win/ap_Win32StatusBar.cpp Mon Oct 11 18:43:25 1999 +++ abi-070700/src/hello/ap/win/ap_Win32StatusBar.cpp Fri Jul 7 14:17:33 2000 @@ -53,7 +53,7 @@ void AP_Win32StatusBar::setView(AV_View * pView) { DELETEP(m_pG); - GR_Win32Graphics * pG = new GR_Win32Graphics(GetDC(m_hwndStatusBar), m_hwndStatusBar); + GR_Win32Graphics * pG = new GR_Win32Graphics(GetDC(m_hwndStatusBar), m_hwndStatusBar, pView->getApp()); m_pG = pG; UT_ASSERT(m_pG); diff -ru abi-070700-ORIG/src/wp/ap/beos/ap_BeOSFrame.cpp abi-070700/src/wp/ap/beos/ap_BeOSFrame.cpp --- abi-070700-ORIG/src/wp/ap/beos/ap_BeOSFrame.cpp Wed May 17 23:10:05 2000 +++ abi-070700/src/wp/ap/beos/ap_BeOSFrame.cpp Fri Jul 7 13:15:33 2000 @@ -90,7 +90,7 @@ UT_uint32 point = 0; //pG = new GR_BeOSGraphics(m_dArea->window, fontManager); - pG = new GR_BeOSGraphics(getBeDocView()); + pG = new GR_BeOSGraphics(getBeDocView(), getApp()); ENSUREP(pG); pG->setZoomPercentage(iZoom); diff -ru abi-070700-ORIG/src/wp/ap/beos/ap_BeOSLeftRuler.cpp abi-070700/src/wp/ap/beos/ap_BeOSLeftRuler.cpp --- abi-070700-ORIG/src/wp/ap/beos/ap_BeOSLeftRuler.cpp Fri Nov 5 04:11:14 1999 +++ abi-070700/src/wp/ap/beos/ap_BeOSLeftRuler.cpp Fri Jul 7 13:31:47 2000 @@ -186,7 +186,7 @@ // is not created until the frame's top-level window is // shown. DELETEP(m_pG); - m_pG = new GR_BeOSGraphics(m_wLeftRuler); + m_pG = new GR_BeOSGraphics(m_wLeftRuler, m_pFrame->getApp()); UT_ASSERT(m_pG); } } diff -ru abi-070700-ORIG/src/wp/ap/beos/ap_BeOSStatusBar.cpp abi-070700/src/wp/ap/beos/ap_BeOSStatusBar.cpp --- abi-070700-ORIG/src/wp/ap/beos/ap_BeOSStatusBar.cpp Sun Sep 26 11:17:33 1999 +++ abi-070700/src/wp/ap/beos/ap_BeOSStatusBar.cpp Fri Jul 7 13:36:23 2000 @@ -50,7 +50,7 @@ DELETEP(m_pG); XAP_BeOSApp * app = static_cast<XAP_BeOSApp *>(m_pFrame->getApp()); XAP_BeOSFontManager * fontManager = app->getFontManager(); - m_pG = new GR_BeOSGraphics(m_wStatusBar->window, fontManager); + m_pG = new GR_BeOSGraphics(m_wStatusBar->window, m_pFrame->getApp()); UT_ASSERT(m_pG); GR_Font * pFont = m_pG->getGUIFont(); diff -ru abi-070700-ORIG/src/wp/ap/beos/ap_BeOSTopRuler.cpp abi-070700/src/wp/ap/beos/ap_BeOSTopRuler.cpp --- abi-070700-ORIG/src/wp/ap/beos/ap_BeOSTopRuler.cpp Fri Nov 5 04:11:14 1999 +++ abi-070700/src/wp/ap/beos/ap_BeOSTopRuler.cpp Fri Jul 7 13:33:33 2000 @@ -182,7 +182,7 @@ // shown. DELETEP(m_pG); - m_pG = new GR_BeOSGraphics(m_wTopRuler); + m_pG = new GR_BeOSGraphics(m_wTopRuler, m_pFrame->getApp()); UT_ASSERT(m_pG); } } diff -ru abi-070700-ORIG/src/wp/ap/qnx/ap_QNXApp.cpp abi-070700/src/wp/ap/qnx/ap_QNXApp.cpp --- abi-070700-ORIG/src/wp/ap/qnx/ap_QNXApp.cpp Tue Mar 28 17:33:24 2000 +++ abi-070700/src/wp/ap/qnx/ap_QNXApp.cpp Fri Jul 7 13:48:07 2000 @@ -715,7 +715,8 @@ PtAddEventHandler(da, Ph_EV_BUT_RELEASE, s_hideSplash, NULL); // create image context - pQNXGraphics = new GR_QNXGraphics(spwin, da); + // TODO: find an XAP_App pointer for the following call: + pQNXGraphics = new GR_QNXGraphics(spwin, da, 0); pSplashImage = pQNXGraphics->createNewImage("splash", pBB, iSplashWidth, iSplashHeight); PtRealizeWidget(spwin); diff -ru abi-070700-ORIG/src/wp/ap/qnx/ap_QNXDialog_Paragraph.cpp abi-070700/src/wp/ap/qnx/ap_QNXDialog_Paragraph.cpp --- abi-070700-ORIG/src/wp/ap/qnx/ap_QNXDialog_Paragraph.cpp Sun May 7 10:43:57 2000 +++ abi-070700/src/wp/ap/qnx/ap_QNXDialog_Paragraph.cpp Fri Jul 7 13:49:22 2000 @@ -269,7 +269,7 @@ UT_ASSERT(m_drawingareaPreview); // make a new QNX GC - m_qnxGraphics = new GR_QNXGraphics(mainWindow, m_drawingareaPreview); + m_qnxGraphics = new GR_QNXGraphics(mainWindow, m_drawingareaPreview, pFrame->getApp()); unsigned short w, h; // let the widget materialize diff -ru abi-070700-ORIG/src/wp/ap/qnx/ap_QNXFrame.cpp abi-070700/src/wp/ap/qnx/ap_QNXFrame.cpp --- abi-070700-ORIG/src/wp/ap/qnx/ap_QNXFrame.cpp Wed May 17 23:10:06 2000 +++ abi-070700/src/wp/ap/qnx/ap_QNXFrame.cpp Fri Jul 7 13:50:42 2000 @@ -97,7 +97,7 @@ UT_uint32 nrToolbars; UT_uint32 point = 0; - pG = new GR_QNXGraphics(m_wTopLevelWindow, m_dArea); + pG = new GR_QNXGraphics(m_wTopLevelWindow, m_dArea, getApp()); ENSUREP(pG); pG->setZoomPercentage(iZoom); diff -ru abi-070700-ORIG/src/wp/ap/qnx/ap_QNXLeftRuler.cpp abi-070700/src/wp/ap/qnx/ap_QNXLeftRuler.cpp --- abi-070700-ORIG/src/wp/ap/qnx/ap_QNXLeftRuler.cpp Fri Feb 18 12:55:44 2000 +++ abi-070700/src/wp/ap/qnx/ap_QNXLeftRuler.cpp Fri Jul 7 13:51:25 2000 @@ -114,7 +114,7 @@ // shown. DELETEP(m_pG); GR_QNXGraphics * pG = new GR_QNXGraphics(((XAP_QNXFrame *)m_pFrame)->getTopLevelWindow(), - m_wLeftRuler); + m_wLeftRuler, m_pFrame->getApp()); m_pG = pG; pG->init3dColors(); } diff -ru abi-070700-ORIG/src/wp/ap/qnx/ap_QNXStatusBar.cpp abi-070700/src/wp/ap/qnx/ap_QNXStatusBar.cpp --- abi-070700-ORIG/src/wp/ap/qnx/ap_QNXStatusBar.cpp Tue Mar 28 17:33:24 2000 +++ abi-070700/src/wp/ap/qnx/ap_QNXStatusBar.cpp Fri Jul 7 13:51:46 2000 @@ -50,7 +50,7 @@ XAP_QNXApp * app = (XAP_QNXApp *)m_pFrame->getApp(); XAP_QNXFrame *frame = (XAP_QNXFrame *) m_pFrame; - m_pG = new GR_QNXGraphics(frame->getTopLevelWindow(), m_wStatusBar); + m_pG = new GR_QNXGraphics(frame->getTopLevelWindow(), m_wStatusBar, m_pFrame->getApp()); UT_ASSERT(m_pG); GR_Font * pFont = m_pG->getGUIFont(); diff -ru abi-070700-ORIG/src/wp/ap/qnx/ap_QNXTopRuler.cpp abi-070700/src/wp/ap/qnx/ap_QNXTopRuler.cpp --- abi-070700-ORIG/src/wp/ap/qnx/ap_QNXTopRuler.cpp Tue Mar 7 04:36:41 2000 +++ abi-070700/src/wp/ap/qnx/ap_QNXTopRuler.cpp Fri Jul 7 13:52:14 2000 @@ -136,7 +136,7 @@ DELETEP(m_pG); GR_QNXGraphics * pG = new GR_QNXGraphics(((XAP_QNXFrame *)m_pFrame)->getTopLevelWindow(), - m_wTopRuler); + m_wTopRuler, m_pFrame->getApp()); m_pG = pG; UT_ASSERT(m_pG); pG->init3dColors(); diff -ru abi-070700-ORIG/src/wp/ap/unix/ap_UnixApp.cpp abi-070700/src/wp/ap/unix/ap_UnixApp.cpp --- abi-070700-ORIG/src/wp/ap/unix/ap_UnixApp.cpp Mon Jun 12 05:36:01 2000 +++ abi-070700/src/wp/ap/unix/ap_UnixApp.cpp Fri Jul 7 11:14:47 2000 @@ -763,7 +763,7 @@ gtk_widget_show(wSplash); // create image context - pUnixGraphics = new GR_UnixGraphics(da->window, NULL); + pUnixGraphics = new GR_UnixGraphics(da->window, NULL, m_pApp); pSplashImage = pUnixGraphics->createNewImage("splash", pBB, iSplashWidth, iSplashHeight); // another for luck (to bring it up forward and paint) diff -ru abi-070700-ORIG/src/wp/ap/unix/ap_UnixDialog_Paragraph.cpp abi-070700/src/wp/ap/unix/ap_UnixDialog_Paragraph.cpp --- abi-070700-ORIG/src/wp/ap/unix/ap_UnixDialog_Paragraph.cpp Tue May 16 09:22:45 2000 +++ abi-070700/src/wp/ap/unix/ap_UnixDialog_Paragraph.cpp Fri Jul 7 11:15:33 2000 @@ -172,7 +172,7 @@ UT_ASSERT(m_drawingareaPreview && m_drawingareaPreview->window); // make a new Unix GC - m_unixGraphics = new GR_UnixGraphics(m_drawingareaPreview->window, unixapp->getFontManager()); + m_unixGraphics = new GR_UnixGraphics(m_drawingareaPreview->window, unixapp->getFontManager(), m_pApp); // let the widget materialize _createPreviewFromGC(m_unixGraphics, diff -ru abi-070700-ORIG/src/wp/ap/unix/ap_UnixFrame.cpp abi-070700/src/wp/ap/unix/ap_UnixFrame.cpp --- abi-070700-ORIG/src/wp/ap/unix/ap_UnixFrame.cpp Mon Jun 12 05:36:02 2000 +++ abi-070700/src/wp/ap/unix/ap_UnixFrame.cpp Fri Jul 7 11:16:02 2000 @@ -96,7 +96,7 @@ gboolean bFocus; XAP_UnixFontManager * fontManager = ((XAP_UnixApp *) getApp())->getFontManager(); - pG = new GR_UnixGraphics(m_dArea->window, fontManager); + pG = new GR_UnixGraphics(m_dArea->window, fontManager, getApp()); ENSUREP(pG); pG->setZoomPercentage(iZoom); diff -ru abi-070700-ORIG/src/wp/ap/unix/ap_UnixLeftRuler.cpp abi-070700/src/wp/ap/unix/ap_UnixLeftRuler.cpp --- abi-070700-ORIG/src/wp/ap/unix/ap_UnixLeftRuler.cpp Mon Oct 11 18:43:27 1999 +++ abi-070700/src/wp/ap/unix/ap_UnixLeftRuler.cpp Fri Jul 7 11:16:18 2000 @@ -94,7 +94,7 @@ DELETEP(m_pG); XAP_UnixApp * app = static_cast<XAP_UnixApp *>(m_pFrame->getApp()); XAP_UnixFontManager * fontManager = app->getFontManager(); - GR_UnixGraphics * pG = new GR_UnixGraphics(m_wLeftRuler->window, fontManager); + GR_UnixGraphics * pG = new GR_UnixGraphics(m_wLeftRuler->window, fontManager, m_pFrame->getApp()); m_pG = pG; UT_ASSERT(m_pG); diff -ru abi-070700-ORIG/src/wp/ap/unix/ap_UnixStatusBar.cpp abi-070700/src/wp/ap/unix/ap_UnixStatusBar.cpp --- abi-070700-ORIG/src/wp/ap/unix/ap_UnixStatusBar.cpp Mon Apr 5 09:22:29 1999 +++ abi-070700/src/wp/ap/unix/ap_UnixStatusBar.cpp Fri Jul 7 11:16:37 2000 @@ -51,7 +51,7 @@ DELETEP(m_pG); XAP_UnixApp * app = static_cast<XAP_UnixApp *>(m_pFrame->getApp()); XAP_UnixFontManager * fontManager = app->getFontManager(); - GR_UnixGraphics * pG = new GR_UnixGraphics(m_wStatusBar->window, fontManager); + GR_UnixGraphics * pG = new GR_UnixGraphics(m_wStatusBar->window, fontManager, m_pFrame->getApp()); m_pG = pG; UT_ASSERT(m_pG); diff -ru abi-070700-ORIG/src/wp/ap/unix/ap_UnixTopRuler.cpp abi-070700/src/wp/ap/unix/ap_UnixTopRuler.cpp --- abi-070700-ORIG/src/wp/ap/unix/ap_UnixTopRuler.cpp Thu Dec 2 19:14:57 1999 +++ abi-070700/src/wp/ap/unix/ap_UnixTopRuler.cpp Fri Jul 7 11:18:03 2000 @@ -130,7 +130,7 @@ DELETEP(m_pG); XAP_UnixApp * app = static_cast<XAP_UnixApp *>(m_pFrame->getApp()); XAP_UnixFontManager * fontManager = app->getFontManager(); - GR_UnixGraphics * pG = new GR_UnixGraphics(m_wTopRuler->window, fontManager); + GR_UnixGraphics * pG = new GR_UnixGraphics(m_wTopRuler->window, fontManager, m_pFrame->getApp()); m_pG = pG; UT_ASSERT(m_pG); diff -ru abi-070700-ORIG/src/wp/ap/win/ap_Win32App.cpp abi-070700/src/wp/ap/win/ap_Win32App.cpp --- abi-070700-ORIG/src/wp/ap/win/ap_Win32App.cpp Mon Jul 3 12:58:03 2000 +++ abi-070700/src/wp/ap/win/ap_Win32App.cpp Fri Jul 7 14:18:04 2000 @@ -507,7 +507,8 @@ case WM_PAINT: hdc = BeginPaint(hWnd, &ps); { - GR_Graphics * pG = new GR_Win32Graphics(hdc, hwndSplash); + // TODO: find XAP_App pointer for this + GR_Graphics * pG = new GR_Win32Graphics(hdc, hwndSplash, 0); pG->drawImage(pSplash, 0, 0); DELETEP(pG); } @@ -641,7 +642,8 @@ if (hwndSplash) { // create image first - GR_Graphics * pG = new GR_Win32Graphics(GetDC(hwndSplash), hwndSplash); + // TODO: find XAP_App pointer for this + GR_Graphics * pG = new GR_Win32Graphics(GetDC(hwndSplash), hwndSplash, 0); pSplash = pG->createNewImage("splash", pBB, iSplashWidth, iSplashHeight); DELETEP(pG); diff -ru abi-070700-ORIG/src/wp/ap/win/ap_Win32Frame.cpp abi-070700/src/wp/ap/win/ap_Win32Frame.cpp --- abi-070700-ORIG/src/wp/ap/win/ap_Win32Frame.cpp Wed May 17 23:10:07 2000 +++ abi-070700/src/wp/ap/win/ap_Win32Frame.cpp Fri Jul 7 14:18:42 2000 @@ -185,7 +185,7 @@ UT_uint32 point = 0; HWND hwnd = m_hwndDocument; - pG = new GR_Win32Graphics(GetDC(hwnd), hwnd); + pG = new GR_Win32Graphics(GetDC(hwnd), hwnd, getApp()); ENSUREP(pG); pG->setZoomPercentage(iZoom); diff -ru abi-070700-ORIG/src/wp/ap/win/ap_Win32LeftRuler.cpp abi-070700/src/wp/ap/win/ap_Win32LeftRuler.cpp --- abi-070700-ORIG/src/wp/ap/win/ap_Win32LeftRuler.cpp Mon Oct 11 18:43:28 1999 +++ abi-070700/src/wp/ap/win/ap_Win32LeftRuler.cpp Fri Jul 7 14:19:11 2000 @@ -55,7 +55,7 @@ AP_LeftRuler::setView(pView); DELETEP(m_pG); - GR_Win32Graphics * pG = new GR_Win32Graphics(GetDC(m_hwndLeftRuler), m_hwndLeftRuler); + GR_Win32Graphics * pG = new GR_Win32Graphics(GetDC(m_hwndLeftRuler), m_hwndLeftRuler, pView->getApp()); m_pG = pG; UT_ASSERT(m_pG); diff -ru abi-070700-ORIG/src/wp/ap/win/ap_Win32StatusBar.cpp abi-070700/src/wp/ap/win/ap_Win32StatusBar.cpp --- abi-070700-ORIG/src/wp/ap/win/ap_Win32StatusBar.cpp Wed May 10 05:56:23 2000 +++ abi-070700/src/wp/ap/win/ap_Win32StatusBar.cpp Fri Jul 7 14:19:29 2000 @@ -53,7 +53,7 @@ void AP_Win32StatusBar::setView(AV_View * pView) { DELETEP(m_pG); - GR_Win32Graphics * pG = new GR_Win32Graphics(GetDC(m_hwndStatusBar), m_hwndStatusBar); + GR_Win32Graphics * pG = new GR_Win32Graphics(GetDC(m_hwndStatusBar), m_hwndStatusBar, pView->getApp()); m_pG = pG; UT_ASSERT(m_pG); diff -ru abi-070700-ORIG/src/wp/ap/win/ap_Win32TopRuler.cpp abi-070700/src/wp/ap/win/ap_Win32TopRuler.cpp --- abi-070700-ORIG/src/wp/ap/win/ap_Win32TopRuler.cpp Mon Oct 11 18:43:28 1999 +++ abi-070700/src/wp/ap/win/ap_Win32TopRuler.cpp Fri Jul 7 14:19:48 2000 @@ -56,7 +56,7 @@ AP_TopRuler::setView(pView); DELETEP(m_pG); - GR_Win32Graphics * pG = new GR_Win32Graphics(GetDC(m_hwndTopRuler), m_hwndTopRuler); + GR_Win32Graphics * pG = new GR_Win32Graphics(GetDC(m_hwndTopRuler), m_hwndTopRuler, pView->getApp()); m_pG = pG; UT_ASSERT(m_pG);



This archive was generated by hypermail 2b25 : Fri Jul 07 2000 - 18:27:23 CDT