code beautification: make the caret code correct (with dom)
platform maintainers need to modify gr_*Graphics.
I've attached the diff for gr_UnixGraphics.
Checking in src/af/gr/Makefile;
/cvsroot/abi/src/af/gr/Makefile,v <-- Makefile
new revision: 1.19; previous revision: 1.18
done
Checking in src/af/gr/beos/gr_BeOSGraphics.cpp;
/cvsroot/abi/src/af/gr/beos/gr_BeOSGraphics.cpp,v <--
gr_BeOSGraphics.cpp
new revision: 1.40; previous revision: 1.39
done
Checking in src/af/gr/beos/gr_BeOSGraphics.h;
/cvsroot/abi/src/af/gr/beos/gr_BeOSGraphics.h,v <-- gr_BeOSGraphics.h
new revision: 1.26; previous revision: 1.25
done
Checking in src/af/gr/mac/gr_MacGraphics.cpp;
/cvsroot/abi/src/af/gr/mac/gr_MacGraphics.cpp,v <-- gr_MacGraphics.cpp
new revision: 1.21; previous revision: 1.20
done
Checking in src/af/gr/mac/gr_MacGraphics.h;
/cvsroot/abi/src/af/gr/mac/gr_MacGraphics.h,v <-- gr_MacGraphics.h
new revision: 1.21; previous revision: 1.20
done
Checking in src/af/gr/mac/gr_MacQDGraphics.cpp;
/cvsroot/abi/src/af/gr/mac/gr_MacQDGraphics.cpp,v <--
gr_MacQDGraphics.cpp
new revision: 1.8; previous revision: 1.7
done
Checking in src/af/gr/mac/gr_MacQDGraphics.h;
/cvsroot/abi/src/af/gr/mac/gr_MacQDGraphics.h,v <-- gr_MacQDGraphics.h
new revision: 1.6; previous revision: 1.5
done
Checking in src/af/gr/qnx/gr_QNXGraphics.cpp;
/cvsroot/abi/src/af/gr/qnx/gr_QNXGraphics.cpp,v <-- gr_QNXGraphics.cpp
new revision: 1.69; previous revision: 1.68
done
Checking in src/af/gr/qnx/gr_QNXGraphics.h;
/cvsroot/abi/src/af/gr/qnx/gr_QNXGraphics.h,v <-- gr_QNXGraphics.h
new revision: 1.23; previous revision: 1.22
done
Checking in src/af/gr/unix/gr_UnixGraphics.cpp;
/cvsroot/abi/src/af/gr/unix/gr_UnixGraphics.cpp,v <--
gr_UnixGraphics.cpp
new revision: 1.152; previous revision: 1.151
done
Checking in src/af/gr/unix/gr_UnixGraphics.h;
/cvsroot/abi/src/af/gr/unix/gr_UnixGraphics.h,v <-- gr_UnixGraphics.h
new revision: 1.46; previous revision: 1.45
done
Checking in src/af/gr/win/gr_Win32Graphics.cpp;
/cvsroot/abi/src/af/gr/win/gr_Win32Graphics.cpp,v <--
gr_Win32Graphics.cpp
new revision: 1.102; previous revision: 1.101
done
Checking in src/af/gr/win/gr_Win32Graphics.h;
/cvsroot/abi/src/af/gr/win/gr_Win32Graphics.h,v <-- gr_Win32Graphics.h
new revision: 1.52; previous revision: 1.51
done
Checking in src/af/gr/xp/GNUmakefile.am;
/cvsroot/abi/src/af/gr/xp/GNUmakefile.am,v <-- GNUmakefile.am
new revision: 1.5; previous revision: 1.4
done
Checking in src/af/gr/xp/Makefile;
/cvsroot/abi/src/af/gr/xp/Makefile,v <-- Makefile
new revision: 1.13; previous revision: 1.12
done
Checking in src/af/gr/xp/gr_Graphics.cpp;
/cvsroot/abi/src/af/gr/xp/gr_Graphics.cpp,v <-- gr_Graphics.cpp
new revision: 1.63; previous revision: 1.62
done
Checking in src/af/gr/xp/gr_Graphics.h;
/cvsroot/abi/src/af/gr/xp/gr_Graphics.h,v <-- gr_Graphics.h
new revision: 1.69; previous revision: 1.68
done
Checking in src/af/xap/unix/xap_UnixNullGraphics.cpp;
/cvsroot/abi/src/af/xap/unix/xap_UnixNullGraphics.cpp,v <--
xap_UnixNullGraphics.cpp
new revision: 1.8; previous revision: 1.7
done
Checking in src/af/xap/unix/xap_UnixNullGraphics.h;
/cvsroot/abi/src/af/xap/unix/xap_UnixNullGraphics.h,v <--
xap_UnixNullGraphics.h
new revision: 1.8; previous revision: 1.7
done
Checking in src/af/xap/unix/xap_UnixPSGraphics.cpp;
/cvsroot/abi/src/af/xap/unix/xap_UnixPSGraphics.cpp,v <--
xap_UnixPSGraphics.cpp
new revision: 1.97; previous revision: 1.96
done
Checking in src/af/xap/unix/xap_UnixPSGraphics.h;
/cvsroot/abi/src/af/xap/unix/xap_UnixPSGraphics.h,v <--
xap_UnixPSGraphics.h
new revision: 1.35; previous revision: 1.34
done
Checking in src/af/xap/unix/gnome/xap_UnixGnomePrintGraphics.cpp;
/cvsroot/abi/src/af/xap/unix/gnome/xap_UnixGnomePrintGraphics.cpp,v <--
xap_UnixGnomePrintGraphics.cpp
new revision: 1.51; previous revision: 1.50
done
Checking in src/af/xap/unix/gnome/xap_UnixGnomePrintGraphics.h;
/cvsroot/abi/src/af/xap/unix/gnome/xap_UnixGnomePrintGraphics.h,v <--
xap_UnixGnomePrintGraphics.h
new revision: 1.18; previous revision: 1.17
done
Checking in src/bindings/perl/AbiWord.cpp;
/cvsroot/abi/src/bindings/perl/AbiWord.cpp,v <-- AbiWord.cpp
new revision: 1.5; previous revision: 1.4
done
Checking in src/text/fmt/xp/GNUmakefile.am;
/cvsroot/abi/src/text/fmt/xp/GNUmakefile.am,v <-- GNUmakefile.am
new revision: 1.16; previous revision: 1.15
done
Checking in src/text/fmt/xp/fl_BlockLayout.cpp;
/cvsroot/abi/src/text/fmt/xp/fl_BlockLayout.cpp,v <--
fl_BlockLayout.cpp
new revision: 1.440; previous revision: 1.439
done
Checking in src/text/fmt/xp/fl_BlockLayout.h;
/cvsroot/abi/src/text/fmt/xp/fl_BlockLayout.h,v <-- fl_BlockLayout.h
new revision: 1.157; previous revision: 1.156
done
Checking in src/text/fmt/xp/fl_DocLayout.cpp;
/cvsroot/abi/src/text/fmt/xp/fl_DocLayout.cpp,v <-- fl_DocLayout.cpp
new revision: 1.184; previous revision: 1.183
done
Checking in src/text/fmt/xp/fl_DocListener.cpp;
/cvsroot/abi/src/text/fmt/xp/fl_DocListener.cpp,v <--
fl_DocListener.cpp
new revision: 1.143; previous revision: 1.142
done
Checking in src/text/fmt/xp/fl_SectionLayout.cpp;
/cvsroot/abi/src/text/fmt/xp/fl_SectionLayout.cpp,v <--
fl_SectionLayout.cpp
new revision: 1.163; previous revision: 1.162
done
Checking in src/text/fmt/xp/fp_TextRun.cpp;
/cvsroot/abi/src/text/fmt/xp/fp_TextRun.cpp,v <-- fp_TextRun.cpp
new revision: 1.186; previous revision: 1.185
done
Checking in src/text/fmt/xp/fv_View.cpp;
/cvsroot/abi/src/text/fmt/xp/fv_View.cpp,v <-- fv_View.cpp
new revision: 1.701; previous revision: 1.700
done
Checking in src/text/fmt/xp/fv_View.h;
/cvsroot/abi/src/text/fmt/xp/fv_View.h,v <-- fv_View.h
new revision: 1.246; previous revision: 1.245
done
Checking in src/text/fmt/xp/fv_View_cmd.cpp;
/cvsroot/abi/src/text/fmt/xp/fv_View_cmd.cpp,v <-- fv_View_cmd.cpp
new revision: 1.24; previous revision: 1.23
done
Checking in src/text/fmt/xp/fv_View_protected.cpp;
/cvsroot/abi/src/text/fmt/xp/fv_View_protected.cpp,v <--
fv_View_protected.cppnew revision: 1.25; previous revision: 1.24
done
Checking in src/wp/ap/xp/ap_EditMethods.cpp;
/cvsroot/abi/src/wp/ap/xp/ap_EditMethods.cpp,v <-- ap_EditMethods.cpp
new revision: 1.515; previous revision: 1.514
done
Checking in src/wp/ap/xp/ap_LeftRuler.cpp;
/cvsroot/abi/src/wp/ap/xp/ap_LeftRuler.cpp,v <-- ap_LeftRuler.cpp
new revision: 1.59; previous revision: 1.58
done
Index: src/af/gr/unix/gr_UnixGraphics.cpp
===================================================================
RCS file: /cvsroot/abi/src/af/gr/unix/gr_UnixGraphics.cpp,v
retrieving revision 1.151
diff -u -r1.151 gr_UnixGraphics.cpp
--- src/af/gr/unix/gr_UnixGraphics.cpp 30 Aug 2002 15:58:47 -0000 1.151
+++ src/af/gr/unix/gr_UnixGraphics.cpp 1 Sep 2002 19:39:41 -0000
@@ -369,6 +369,8 @@
UT_sint32 curWidth;
const UT_UCSChar *pC;
+ GR_CaretDisabler caretDisabler(getCaret());
+
for(pC=pChars+iCharOffset, x=xoff; pC<pChars+iCharOffset+iLength; ++pC)
{
UT_UCSChar actual = remapGlyph(*pC,false);
@@ -741,6 +743,11 @@
return 96;
}
+void GR_UnixGraphics::getColor(UT_RGBColor& clr)
+{
+ clr = m_curColor;
+}
+
void GR_UnixGraphics::setColor(const UT_RGBColor& clr)
{
UT_ASSERT(m_pGC);
@@ -750,6 +757,7 @@
c.blue = clr.m_blu << 8;
c.green = clr.m_grn << 8;
+ m_curColor = clr;
_setColor(c);
}
@@ -989,7 +997,6 @@
UT_uint32 GR_UnixGraphics::getFontAscent()
{
-
return getFontAscent(m_pFont);
}
@@ -1040,6 +1047,7 @@
void GR_UnixGraphics::drawLine(UT_sint32 x1, UT_sint32 y1,
UT_sint32 x2, UT_sint32 y2)
{
+ GR_CaretDisabler caretDisabler(getCaret());
// TODO set the line width according to m_iLineWidth
gdk_draw_line(m_pWin, m_pGC, x1, y1, x2, y2);
}
@@ -1065,11 +1073,13 @@
void GR_UnixGraphics::xorLine(UT_sint32 x1, UT_sint32 y1, UT_sint32 x2,
UT_sint32 y2)
{
+ GR_CaretDisabler caretDisabler(getCaret());
gdk_draw_line(m_pWin, m_pXORGC, x1, y1, x2, y2);
}
void GR_UnixGraphics::polyLine(UT_Point * pts, UT_uint32 nPoints)
{
+ GR_CaretDisabler caretDisabler(getCaret());
// see bug #303 for what this is about
#if 1
GdkPoint * points = (GdkPoint *)calloc(nPoints, sizeof(GdkPoint));
@@ -1098,8 +1108,8 @@
void GR_UnixGraphics::invertRect(const UT_Rect* pRect)
{
+ GR_CaretDisabler caretDisabler(getCaret());
UT_ASSERT(pRect);
-
gdk_draw_rectangle(m_pWin, m_pXORGC, 1, pRect->left, pRect->top,
pRect->width, pRect->height);
}
@@ -1160,6 +1170,7 @@
void GR_UnixGraphics::fillRect(const UT_RGBColor& c, UT_sint32 x, UT_sint32 y,
UT_sint32 w, UT_sint32 h)
{
+ GR_CaretDisabler caretDisabler(getCaret());
// save away the current color, and restore it after we fill the rect
GdkGCValues gcValues;
GdkColor oColor;
@@ -1181,13 +1192,17 @@
gdk_gc_set_foreground(m_pGC, &nColor);
- gdk_draw_rectangle(m_pWin, m_pGC, 1, x, y, w, h);
+// This seems to clear up some problems, but it may not be right.
+// gdk_draw_rectangle(m_pWin, m_pGC, 1, x, y, w+1, h+1);
+ gdk_draw_rectangle(m_pWin, m_pGC, 1, x, y, w, h);
gdk_gc_set_foreground(m_pGC, &oColor);
}
void GR_UnixGraphics::scroll(UT_sint32 dx, UT_sint32 dy)
{
+ GR_CaretDisabler caretDisabler(getCaret());
+
UT_sint32 winWidth, winHeight;
gdk_drawable_get_size ( GDK_DRAWABLE(m_pWin), &winWidth, &winHeight ) ;
UT_Rect exposeArea;
@@ -1287,6 +1302,7 @@
UT_sint32 x_src, UT_sint32 y_src,
UT_sint32 width, UT_sint32 height)
{
+ GR_CaretDisabler caretDisabler(getCaret());
gdk_window_copy_area(m_pWin, m_pGC, x_dest, y_dest,
m_pWin, x_src, y_src, width, height);
}
@@ -1294,6 +1310,7 @@
void GR_UnixGraphics::clearArea(UT_sint32 x, UT_sint32 y,
UT_sint32 width, UT_sint32
height)
{
+ GR_CaretDisabler caretDisabler(getCaret());
// UT_DEBUGMSG(("ClearArea: %d %d %d %d\n", x, y, width, height));
if (width > 0)
{
@@ -1344,7 +1361,6 @@
{
GR_Image* pImg = NULL;
-
pImg = new GR_UnixImage(pszName,false);
pImg->convertFromBuffer(pBB, iDisplayWidth, iDisplayHeight);
return pImg;
@@ -1358,6 +1374,7 @@
void GR_UnixGraphics::drawImage(GR_Image* pImg, UT_sint32 xDest, UT_sint32 yDest)
{
+ GR_CaretDisabler caretDisabler(getCaret());
UT_ASSERT(pImg);
GR_UnixImage * pUnixImage = static_cast<GR_UnixImage *>(pImg);
@@ -1525,6 +1542,7 @@
void GR_UnixGraphics::fillRect(GR_Color3D c, UT_sint32 x, UT_sint32 y, UT_sint32 w,
UT_sint32 h)
{
+ GR_CaretDisabler caretDisabler(getCaret());
UT_ASSERT(c < COUNT_3D_COLORS);
gdk_gc_set_foreground(m_pGC, &m_3dColors[c]);
gdk_draw_rectangle(m_pWin, m_pGC, 1, x, y, w, h);
@@ -1538,5 +1556,6 @@
void GR_UnixGraphics::polygon(UT_RGBColor& c,UT_Point *pts,UT_uint32 nPoints)
{
+ GR_CaretDisabler caretDisabler(getCaret());
// save away the current color, and restore it after we draw the polygon
GdkGCValues gcValues;
GdkColor oColor;