From 8b473c168f56738abd57a883c353007fda6a24cf Mon Sep 17 00:00:00 2001 From: megacz Date: Fri, 30 Jan 2004 06:48:36 +0000 Subject: [PATCH] 2002/07/01 21:02:57 darcs-hash:20040130064836-2ba56-ee854ab69758f5d00bc540f7751e536a2f69572b.gz --- CHANGES | 9 +++++- src/org/xwt/plat/POSIX.cc | 14 +++++---- src/org/xwt/plat/POSIX.java | 67 ++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 80 insertions(+), 10 deletions(-) diff --git a/CHANGES b/CHANGES index 479c6a7..c582287 100644 --- a/CHANGES +++ b/CHANGES @@ -223,4 +223,11 @@ 24-Jun megacz MessageQueue.java: fix to MessageQueue to improve XML-RPC/SOAP performance -01-Jul megacz DERObjectIdentifier.java: fix to work around GCC compiler bug \ No newline at end of file +01-Jul megacz DERObjectIdentifier.java: fix to work around GCC compiler bug + +01-Jul megacz XWF.java: fixed an int[] sharing problem + +01-Jul megacz XMLRPC.java, NativeDate.java: XMLRPC can now send dateTime's + +01-Jul megacz POSIX.java, POSIX.cc: initial window size, DISPLAY + string logging, http_proxy environment variable checking, font fixes diff --git a/src/org/xwt/plat/POSIX.cc b/src/org/xwt/plat/POSIX.cc index 1f6f4ea..10580b2 100644 --- a/src/org/xwt/plat/POSIX.cc +++ b/src/org/xwt/plat/POSIX.cc @@ -408,7 +408,7 @@ void org::xwt::plat::POSIX$X11Surface::natInit() { KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask | EnterWindowMask | LeaveWindowMask | PointerMotionMask | ButtonMotionMask | ConfigureNotify | FocusChangeMask; - *((Window*)window) = XCreateWindow(display, RootWindow(display, screen_num), 10, 10, 500, 300, 0, + *((Window*)window) = XCreateWindow(display, RootWindow(display, screen_num), 10, 10, 10, 10, 0, colorDepth, InputOutput, CopyFromParent, CWColormap | CWBitGravity | CWEventMask, &xswa); @@ -655,8 +655,12 @@ void org::xwt::plat::POSIX$X11Surface::syncCursor() { jint org::xwt::plat::POSIX::_getScreenWidth() { return WidthOfScreen(DefaultScreenOfDisplay(display)); } jint org::xwt::plat::POSIX::_getScreenHeight() { return HeightOfScreen(DefaultScreenOfDisplay(display)); } -jstring org::xwt::plat::POSIX::getBrowserEnvString() { - char* envstr = getenv("BROWSER"); +jstring org::xwt::plat::POSIX::getEnv(jstring key) { + int len = JvGetStringUTFLength(key); + char buf[len + 1]; + JvGetStringUTFRegion(key, 0, len, buf); + buf[len] = '\0'; + char* envstr = getenv(buf); return envstr == NULL ? NULL : JvNewStringLatin1(envstr); } @@ -767,7 +771,7 @@ void org::xwt::plat::POSIX::natInit() { selectionWindow = XCreateWindow(display, RootWindow(display, screen_num), 0, 0, 1, 1, 0, colorDepth, InputOutput, CopyFromParent, 0, NULL); visual = DefaultVisual(display, screen_num); char buf[255]; - sprintf(buf, "X11 DISPLAY: %s", JvNewStringLatin1(XDisplayString(display))); + sprintf(buf, "X11 DISPLAY: %s", XDisplayString(display)); org::xwt::util::Log::log(this->getClass(), JvNewStringLatin1(buf)); sprintf(buf, "X11 SHM: %s", shm_supported ? "enabled" : "disabled"); org::xwt::util::Log::log(this->getClass(), JvNewStringLatin1(buf)); @@ -802,7 +806,7 @@ void org::xwt::plat::POSIX::natInit() { JArray* org::xwt::plat::POSIX::listNativeFonts() { int numfonts; - char** xfonts = XListFonts(display, "-*-*-*-*-*-*-*-*-*-*-*-*-*-*", 0xFFFFFFFF, &numfonts); + char** xfonts = XListFonts(display, "-*-*-*-*-normal-*-*-*-*-*-*-*-*-*", 0xFFFFFFFF, &numfonts); JArray* fonts = (JArray*)JvNewObjectArray(numfonts, &(::java::lang::String::class$), NULL); java::lang::String** jfonts = (java::lang::String**)(elements(fonts)); for(int i=0; i 13) { + if (!font[13].equals("iso8559")) continue; + if (font.length < 15 || !font[14].equals("1")) continue; + } + String name = font[1]; String size = font[6]; - String slant = font[3].equals("i") ? "i" : ""; + String slant = (font[3].equals("i") || font[3].equals("o")) ? "i" : ""; String bold = font[2].equals("bold") ? "b" : ""; String tail = s.substring(1 + font[0].length() + 1 + font[1].length() + 1 + font[2].length() + 1 + font[3].length() + 1 + font[4].length() + 1); -- 1.7.10.4