From: phearbear (phearbear@home.se)
Date: Thu Mar 28 2002 - 10:46:22 EST
Hi
Attaching a patch which fixes some problems with the Fonts.
I also, temporary disabled the Insert Symbol dialog, and all non
scalable font, ie, the symbol font.
The rest is simply renaming a few functions that have changed name in
QNX 6.1 and hadn't been updated in the source.
oh yeah, fixed the asserts in refreshtoolbar that Patrick mentioned.
/Johan
Index: af/ev/qnx/ev_QNXToolbar.cpp
===================================================================
RCS file: /cvsroot/abi/src/af/ev/qnx/ev_QNXToolbar.cpp,v
retrieving revision 1.23
diff -u -r1.23 ev_QNXToolbar.cpp
--- af/ev/qnx/ev_QNXToolbar.cpp 28 Mar 2002 08:17:40 -0000 1.23
+++ af/ev/qnx/ev_QNXToolbar.cpp 28 Mar 2002 14:36:34 -0000
@@ -607,6 +607,24 @@
}
break;
+
+ case EV_TBIT_ColorFore:
+ case EV_TBIT_ColorBack:
+ {
+ bool bGrayed = EV_TIS_ShouldBeGray(tis);
+
+ tcb = (struct _cb_data *) m_vecToolbarWidgets.getNthItem(k);
+ UT_ASSERT(tcb);
+ PtWidget_t *item;
+ item = tcb->m_widget;
+ UT_ASSERT(item);
+
+ // Disable/enable toolbar item
+ PtSetArg(&args[n++], Pt_ARG_FLAGS,
+ (bGrayed) ? (Pt_BLOCKED | Pt_GHOST) : Pt_SELECTABLE,
+ Pt_BLOCKED | Pt_GHOST | Pt_SELECTABLE);
+ PtSetResources(tcb->m_widget, n, args);
+ }break;
case EV_TBIT_StaticLabel:
break;
case EV_TBIT_Spacer:
Index: af/gr/qnx/gr_QNXGraphics.cpp
===================================================================
RCS file: /cvsroot/abi/src/af/gr/qnx/gr_QNXGraphics.cpp,v
retrieving revision 1.42
diff -u -r1.42 gr_QNXGraphics.cpp
--- af/gr/qnx/gr_QNXGraphics.cpp 26 Mar 2002 08:05:54 -0000 1.42
+++ af/gr/qnx/gr_QNXGraphics.cpp 28 Mar 2002 14:36:35 -0000
@@ -262,36 +262,33 @@
{
PhRect_t rect;
const char *font;
- char buffer[MB_CUR_MAX + 1];
int len, indices, penpos;
+ UT_UCSChar buffer[1];
- if (!m_pFont || !(font = m_pFont->getFont())) {
+ buffer[0]=c;
+if (!m_pFont || !(font = m_pFont->getFont())) {
return 0;
}
- len = wctomb(buffer, c);
- UT_ASSERT(len > 0);
- buffer[len] = '\0';
indices = 1;
penpos = 0;
-
/*
printf("wide character %d (0x%x) [%c] in %s ==\n", c, c, (char)c, font);
printf("multi byte char 0x%x 0x%x 0x%x 0x%x (%d) \n", buffer[0], buffer[1], buffer[2], buffer[3], len);
*/
PfExtentTextCharPositions(&rect, /* Rect extent */
NULL, /* Position offset */
- buffer, /* Buffer to hit */
+ (char*)buffer, /* Buffer to hit */
font, /* Font buffer uses */
&indices, /* Where to get pen pos from */
&penpos, /* Where to store pen pos */
1, /* Number of indices */
- 0, /* Flags TODO: PF_WIDE_CHARS and save convert? */
- len, /* Length of buffer (0 = use strlen) */
+ PF_WIDE_CHARS, /* Flags */
+ 0, /* Length of buffer (0 = use strlen) */
0, /* Number of characters to skip */
NULL); /* Clipping rectangle? */
/*
- printf("gives width %d \n", penpos);
+ printf("gives width %d and char = 0x%x\n", penpos,c);
*/
return penpos;
@@ -409,18 +406,18 @@
UT_uint32 GR_QNXGraphics::getFontAscent()
{
- if(m_iAscentCache == -1) {
+// if(m_iAscentCache == -1) {
m_iAscentCache = getFontAscent(m_pFont);
- }
+// }
return m_iAscentCache;
}
UT_uint32 GR_QNXGraphics::getFontDescent()
{
- if (m_iDescentCache == -1) {
+// if (m_iDescentCache == -1) {
m_iDescentCache = getFontDescent(m_pFont);
- }
+// }
return m_iDescentCache;
}
@@ -438,7 +435,7 @@
FontQueryInfo info;
- if (PfQueryFont(pQNXFont->getFont(), &info) == -1) {
+ if (PfQueryFontInfo(pQNXFont->getFont(), &info) == -1) {
UT_ASSERT(0);
return(0);
}
@@ -453,7 +450,7 @@
FontQueryInfo info;
- if (PfQueryFont(pQNXFont->getFont(), &info) == -1) {
+ if (PfQueryFontInfo(pQNXFont->getFont(), &info) == -1) {
UT_ASSERT(0);
return(0);
}
@@ -471,11 +468,11 @@
FontQueryInfo info;
- if (PfQueryFont(pQNXFont->getFont(), &info) == -1) {
+ if (PfQueryFontInfo(pQNXFont->getFont(), &info) == -1) {
UT_ASSERT(0);
return(0);
}
-
+ if(strcmp(pQNXFont->getFont(),info.font) != 0)
return MY_ABS(info.descender) + MY_ABS(info.ascender);
}
Index: af/xap/qnx/xap_QNXDlg_FontChooser.cpp
===================================================================
RCS file: /cvsroot/abi/src/af/xap/qnx/xap_QNXDlg_FontChooser.cpp,v
retrieving revision 1.7
diff -u -r1.7 xap_QNXDlg_FontChooser.cpp
--- af/xap/qnx/xap_QNXDlg_FontChooser.cpp 6 Feb 2001 22:54:17 -0000 1.7
+++ af/xap/qnx/xap_QNXDlg_FontChooser.cpp 28 Mar 2002 14:36:35 -0000
@@ -85,7 +85,7 @@
pSS->getValue(XAP_STRING_ID_DLG_UFS_FontTitle),
"helv10", /* Initial font */
-1, /* Symbol to select fonts by */
- PHFONT_ALL_FONTS, /* Which type of fonts */
+ PHFONT_SCALABLE, /* Which type of fonts */
NULL); /* Sample string */
if (newfont) {
@@ -93,7 +93,7 @@
char *s, *p, c;
//NOTE: I could use PfQueryFont for all this information
- PfQueryFont(newfont, &finfo);
+ PfQueryFontInfo(newfont, &finfo);
//Split name[size][style] into pieces
s = p = newfont;
Index: af/xap/qnx/xap_QNXDlg_Insert_Symbol.cpp
===================================================================
RCS file: /cvsroot/abi/src/af/xap/qnx/xap_QNXDlg_Insert_Symbol.cpp,v
retrieving revision 1.11
diff -u -r1.11 xap_QNXDlg_Insert_Symbol.cpp
--- af/xap/qnx/xap_QNXDlg_Insert_Symbol.cpp 15 Jan 2001 11:33:38 -0000 1.11
+++ af/xap/qnx/xap_QNXDlg_Insert_Symbol.cpp 28 Mar 2002 14:36:35 -0000
@@ -213,6 +213,7 @@
void XAP_QNXDialog_Insert_Symbol::runModeless(XAP_Frame * pFrame)
{
+ #if 0
unsigned short w, h;
// First see if the dialog is already running
@@ -290,6 +291,8 @@
UT_QNXCenterWindow(parentWindow, mainWindow);
PtRealizeWidget(mainWindow);
PgFlush();
+#endif
+UT_ASSERT(0);
}
void XAP_QNXDialog_Insert_Symbol::event_OK(void)
Index: wp/ap/qnx/ap_QNXToolbar_FontCombo.cpp
===================================================================
RCS file: /cvsroot/abi/src/wp/ap/qnx/ap_QNXToolbar_FontCombo.cpp,v
retrieving revision 1.4
diff -u -r1.4 ap_QNXToolbar_FontCombo.cpp
--- wp/ap/qnx/ap_QNXToolbar_FontCombo.cpp 18 Jun 2001 12:56:06 -0000 1.4
+++ wp/ap/qnx/ap_QNXToolbar_FontCombo.cpp 28 Mar 2002 14:36:36 -0000
@@ -58,8 +58,8 @@
// nothing to purge. contents are static strings
}
-#define FONT_QUERY_CHAR 'A'
-#define FONT_TYPES (PHFONT_SCALABLE | PHFONT_BITMAP | PHFONT_PROP /* | PHFONT_FIXED*/)
+#define FONT_QUERY_CHAR PHFONT_ALL_SYMBOLS
+#define FONT_TYPES (PHFONT_SCALABLE /*| PHFONT_BITMAP*/ | PHFONT_PROP /* | PHFONT_FIXED*/)
bool AP_QNXToolbar_FontCombo::populate(void)
{
FontDetails *font_list;
This archive was generated by hypermail 2.1.4 : Thu Mar 28 2002 - 09:47:49 EST