tvision-checkins Mailing List for Turbo Vision
Brought to you by:
set
You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
(50) |
May
(215) |
Jun
(329) |
Jul
(201) |
Aug
(201) |
Sep
(184) |
Oct
(36) |
Nov
(74) |
Dec
(91) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(15) |
Feb
(92) |
Mar
(12) |
Apr
(255) |
May
(159) |
Jun
(402) |
Jul
(100) |
Aug
(29) |
Sep
(10) |
Oct
(22) |
Nov
(140) |
Dec
(97) |
2004 |
Jan
(6) |
Feb
(6) |
Mar
(11) |
Apr
(53) |
May
(47) |
Jun
(72) |
Jul
(8) |
Aug
(52) |
Sep
(110) |
Oct
(286) |
Nov
(22) |
Dec
(26) |
2005 |
Jan
(12) |
Feb
(4) |
Mar
|
Apr
(14) |
May
(20) |
Jun
(30) |
Jul
(113) |
Aug
(161) |
Sep
(40) |
Oct
|
Nov
(8) |
Dec
(12) |
2006 |
Jan
(28) |
Feb
(51) |
Mar
(43) |
Apr
(28) |
May
|
Jun
(4) |
Jul
|
Aug
(4) |
Sep
|
Oct
|
Nov
(11) |
Dec
(9) |
2007 |
Jan
(16) |
Feb
|
Mar
|
Apr
(11) |
May
(47) |
Jun
(9) |
Jul
(4) |
Aug
|
Sep
(4) |
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
(18) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(12) |
Aug
(5) |
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
(10) |
Feb
(20) |
Mar
(12) |
Apr
|
May
|
Jun
(44) |
Jul
|
Aug
(16) |
Sep
|
Oct
|
Nov
(4) |
Dec
|
2010 |
Jan
(11) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(12) |
Aug
|
Sep
|
Oct
(8) |
Nov
|
Dec
|
2013 |
Jan
(1) |
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(6) |
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(24) |
Aug
(5) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Salvador E. T. <se...@us...> - 2017-08-01 17:40:48
|
Update of /cvsroot/tvision/tvision In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv1223 Modified Files: Tag: r2_0_1u change.log Log Message: * Modified: [Debian] Version to 2.2.2-2 Index: change.log =================================================================== RCS file: /cvsroot/tvision/tvision/change.log,v retrieving revision 2.399.2.407 retrieving revision 2.399.2.408 diff -C2 -d -r2.399.2.407 -r2.399.2.408 *** change.log 1 Aug 2017 17:39:35 -0000 2.399.2.407 --- change.log 1 Aug 2017 17:40:44 -0000 2.399.2.408 *************** *** 1,3 **** --- 1,6 ---- $Log$ + Revision 2.399.2.408 2017/08/01 17:40:44 set + * Modified: [Debian] Version to 2.2.2-2 + . Revision 2.399.2.407 2017/08/01 17:39:35 set * Modified: [TVCodePage] Excluded some control characters from the UTF8 |
From: Salvador E. T. <se...@us...> - 2017-08-01 17:39:38
|
Update of /cvsroot/tvision/tvision/classes In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv998/classes Modified Files: Tag: r2_0_1u codepage.cc Log Message: * Modified: [TVCodePage] Excluded some control characters from the UTF8 conversion. Index: codepage.cc =================================================================== RCS file: /cvsroot/tvision/tvision/classes/codepage.cc,v retrieving revision 2.24.2.15 retrieving revision 2.24.2.16 diff -C2 -d -r2.24.2.15 -r2.24.2.16 *** codepage.cc 1 Aug 2017 14:10:40 -0000 2.24.2.15 --- codepage.cc 1 Aug 2017 17:39:35 -0000 2.24.2.16 *************** *** 3031,3035 **** else { ! uint16 cp=unicodeToApp->search(unicode); if (cp==0xFFFF) d+=sprintf((char *)d,"&#x%04X;",unicode); // � 8 --- 3031,3035 ---- else { ! uint16 cp=unicode<32 ? unicode : unicodeToApp->search(unicode); if (cp==0xFFFF) d+=sprintf((char *)d,"&#x%04X;",unicode); // � 8 *************** *** 3044,3048 **** else { ! uint16 cp=unicodeToApp->search(unicode); retLen+=cp==0xFFFF ? 8 : 1; } --- 3044,3048 ---- else { ! uint16 cp=unicode<32 ? unicode : unicodeToApp->search(unicode); retLen+=cp==0xFFFF ? 8 : 1; } *************** *** 3106,3109 **** --- 3106,3111 ---- } } + else if (*o=='\t' || *o=='\n') + unicode=*o; else unicode=appToUnicode[*o]; |
From: Salvador E. T. <se...@us...> - 2017-08-01 16:03:25
|
Update of /cvsroot/tvision/tvision In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv19474 Modified Files: Tag: r2_0_1u change.log Log Message: * Fixed: [X11] argument name in TScreenX11::setCharactersU16 Index: change.log =================================================================== RCS file: /cvsroot/tvision/tvision/change.log,v retrieving revision 2.399.2.405 retrieving revision 2.399.2.406 diff -C2 -d -r2.399.2.405 -r2.399.2.406 *** change.log 1 Aug 2017 14:10:41 -0000 2.399.2.405 --- change.log 1 Aug 2017 16:03:21 -0000 2.399.2.406 *************** *** 1,3 **** --- 1,6 ---- $Log$ + Revision 2.399.2.406 2017/08/01 16:03:21 set + * Fixed: [X11] argument name in TScreenX11::setCharactersU16 + . Revision 2.399.2.405 2017/08/01 14:10:41 set * Added: [TVCodePage] Functions to convert the app cp to and from UTF8 |
From: Salvador E. T. <se...@us...> - 2017-08-01 14:10:44
|
Update of /cvsroot/tvision/tvision/classes/x11 In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv2537/classes/x11 Modified Files: Tag: r2_0_1u x11src.cc Log Message: * Added: [TVCodePage] Functions to convert the app cp to and from UTF8 (convertStrUTF8_2_CP and convertStrCP_2_UTF8). * Added: [X11] Support for copy/paste using UTF8. Index: x11src.cc =================================================================== RCS file: /cvsroot/tvision/tvision/classes/x11/x11src.cc,v retrieving revision 1.63.2.38 retrieving revision 1.63.2.39 diff -C2 -d -r1.63.2.38 -r1.63.2.39 *** x11src.cc 31 Jul 2017 22:47:49 -0000 1.63.2.38 --- x11src.cc 1 Aug 2017 14:10:40 -0000 1.63.2.39 *************** *** 1,4 **** /* X11 screen routines. ! Copyright (c) 2001-2012 by Salvador E. Tropea (SET) Covered by the GPL license. Thanks to José Ángel Sánchez Caso (JASC). He implemented a first X11 --- 1,4 ---- /* X11 screen routines. ! Copyright (c) 2001-2017 by Salvador E. Tropea (SET) Covered by the GPL license. Thanks to José Ángel Sánchez Caso (JASC). He implemented a first X11 *************** *** 123,127 **** /* Clipboard properties */ Atom TScreenX11::XA_TARGETS; ! Atom TScreenX11::XA_MULTIPLE; ulong TScreenX11::colorMap[16]; XImage *TScreenX11::ximgFont[256]; /* Our "font" is just a collection of images */ --- 123,127 ---- /* Clipboard properties */ Atom TScreenX11::XA_TARGETS; ! Atom TScreenX11::XA_UTF8_STRING; ulong TScreenX11::colorMap[16]; XImage *TScreenX11::ximgFont[256]; /* Our "font" is just a collection of images */ *************** *** 1659,1663 **** XA_TARGETS=XInternAtom(disp,"TARGETS",False); ! XA_MULTIPLE=XInternAtom(disp,"MULTIPLE",False); /* Initialize the Input Context for international support */ --- 1659,1663 ---- XA_TARGETS=XInternAtom(disp,"TARGETS",False); ! XA_UTF8_STRING=XInternAtom(disp,"UTF8_STRING",False); /* Initialize the Input Context for international support */ *************** *** 2014,2034 **** if (req->target==XA_TARGETS) { // This is a request of the supported formats ! Atom targets[]={XA_TARGETS,XA_MULTIPLE,XA_STRING}; XChangeProperty(disp,req->requestor,req->property,XA_ATOM,32,PropModeReplace, (const uchar *)targets,3); } ! else if (req->target==XA_MULTIPLE) ! { ! printf("XA_MULTIPLE, please contact author\n"); ! respond.xselection.property=None; ! } ! else if (req->target==XA_STRING && TVX11Clipboard::buffer) { XChangeProperty(disp,req->requestor,req->property,XA_STRING, ! 8/*bits*/,PropModeReplace, (const uchar *)TVX11Clipboard::buffer, TVX11Clipboard::length); } ! else // Strings only please { //printf("Unknown target (%s)\n",XGetAtomName(disp,req->target)); --- 2014,2044 ---- if (req->target==XA_TARGETS) { // This is a request of the supported formats ! Atom targets[]={XA_TARGETS,XA_UTF8_STRING,XA_STRING}; XChangeProperty(disp,req->requestor,req->property,XA_ATOM,32,PropModeReplace, (const uchar *)targets,3); } ! else if (TVX11Clipboard::buffer && req->target==XA_STRING) { XChangeProperty(disp,req->requestor,req->property,XA_STRING, ! 8,PropModeReplace, (const uchar *)TVX11Clipboard::buffer, TVX11Clipboard::length); } ! else if (TVX11Clipboard::buffer && req->target==XA_UTF8_STRING) ! {// Convert the buffer to UTF8 ! int cnvLen=TVCodePage::convertStrCP_2_UTF8(NULL,TVX11Clipboard::buffer,TVX11Clipboard::length); ! if (cnvLen==-1) ! // The selection can't be represented using UTF8 ! respond.xselection.property=None; ! else ! { ! char *data=new char[cnvLen+1]; ! TVCodePage::convertStrCP_2_UTF8(data,TVX11Clipboard::buffer,TVX11Clipboard::length); ! XChangeProperty(disp,req->requestor,req->property,XA_UTF8_STRING, ! 8,PropModeReplace,(const uchar *)data,cnvLen); ! delete[] data; ! } ! } ! else // Unsupported target or no selection { //printf("Unknown target (%s)\n",XGetAtomName(disp,req->target)); *************** *** 2318,2322 **** __("No data"), __("X11 error"), ! __("Another application holds the clipboard") }; --- 2328,2333 ---- __("No data"), __("X11 error"), ! __("Another application holds the clipboard"), ! __("Malformed UTF8 string") }; *************** *** 2396,2399 **** --- 2407,2411 ---- unsigned char *data; + // Find who owns the selection owner=XGetSelectionOwner(TScreenX11::disp,clip); if (owner==None) *************** *** 2403,2410 **** return NULL; } ! // What a hell should I use as property here? I use XA_STRING because it was ! // used by the example. BTW the example failed with Eterm. ! XConvertSelection(TScreenX11::disp,clip,XA_STRING,XA_STRING,TScreenX11::mainWin, ! CurrentTime); XFlush(TScreenX11::disp); SEMAPHORE_OFF; --- 2415,2421 ---- return NULL; } ! // Ask for the data as an UTF8 string ! Atom target=TScreenX11::XA_UTF8_STRING; ! XConvertSelection(TScreenX11::disp,clip,target,target,TScreenX11::mainWin,CurrentTime); XFlush(TScreenX11::disp); SEMAPHORE_OFF; *************** *** 2414,2426 **** TScreenX11::ProcessGenericEvents(); ! if (property!=XA_STRING) ! { ! TVOSClipboard::error=x11clipWrongType; ! return NULL; } // Check the size SEMAPHORE_ON; Atom type; ! XGetWindowProperty(TScreenX11::disp,TScreenX11::mainWin,XA_STRING,0,0,0, AnyPropertyType,&type,&format,&len,&bytes,&data); if (bytes<=0) --- 2425,2451 ---- TScreenX11::ProcessGenericEvents(); ! // The owner could reply with None if UTF8 isn't supported or the selection can't be ! // converted to a string ! if (property!=target) ! {// Try again with a plain string ! target=XA_STRING; ! SEMAPHORE_ON; ! XConvertSelection(TScreenX11::disp,clip,target,target,TScreenX11::mainWin,CurrentTime); ! XFlush(TScreenX11::disp); ! SEMAPHORE_OFF; ! waiting=1; ! while (waiting) ! if (!IS_SECOND_THREAD_ON) ! TScreenX11::ProcessGenericEvents(); ! if (property!=target) ! {// The selection can't be pasted as a string ! TVOSClipboard::error=x11clipWrongType; ! return NULL; ! } } // Check the size SEMAPHORE_ON; Atom type; ! XGetWindowProperty(TScreenX11::disp,TScreenX11::mainWin,property,0,0,0, AnyPropertyType,&type,&format,&len,&bytes,&data); if (bytes<=0) *************** *** 2430,2434 **** return NULL; } ! result=XGetWindowProperty(TScreenX11::disp,TScreenX11::mainWin,XA_STRING, 0,bytes,0,AnyPropertyType,&type,&format,&len, &dummy,&data); --- 2455,2460 ---- return NULL; } ! // Now get the selection ! result=XGetWindowProperty(TScreenX11::disp,TScreenX11::mainWin,property, 0,bytes,0,AnyPropertyType,&type,&format,&len, &dummy,&data); *************** *** 2440,2448 **** return NULL; } ! char *ret=new char[bytes+1]; ! memcpy(ret,data,bytes); ! ret[bytes]=0; XFree(data); - lenRet=bytes; SEMAPHORE_OFF; //printf("Recibiendo: `%s' %ld\n",ret,bytes); --- 2466,2494 ---- return NULL; } ! // Copy the selection to a local buffer ! char *ret=NULL; ! if (target==TScreenX11::XA_UTF8_STRING) ! {// Convert the UTF8 string to the app codepage ! int cnvLen=TVCodePage::convertStrUTF8_2_CP(NULL,(const char *)data,bytes); ! if (cnvLen!=-1) ! { ! ret=new char[cnvLen+1]; ! lenRet=cnvLen; ! TVCodePage::convertStrUTF8_2_CP(ret,(const char *)data,bytes); ! } ! else ! TVOSClipboard::error=x11clipUTF8Error; ! //printf("UTF8 data: %s ret: %s\n",data,ret); ! } ! else ! {// Just make a copy ! ret=new char[bytes+1]; ! memcpy(ret,data,bytes); ! ret[bytes]=0; ! lenRet=bytes; ! //printf("String: %s\n",ret); ! } ! // Release the data XFree(data); SEMAPHORE_OFF; //printf("Recibiendo: `%s' %ld\n",ret,bytes); |
From: Salvador E. T. <se...@us...> - 2017-08-01 14:10:43
|
Update of /cvsroot/tvision/tvision/classes In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv2537/classes Modified Files: Tag: r2_0_1u codepage.cc Log Message: * Added: [TVCodePage] Functions to convert the app cp to and from UTF8 (convertStrUTF8_2_CP and convertStrCP_2_UTF8). * Added: [X11] Support for copy/paste using UTF8. Index: codepage.cc =================================================================== RCS file: /cvsroot/tvision/tvision/classes/codepage.cc,v retrieving revision 2.24.2.14 retrieving revision 2.24.2.15 diff -C2 -d -r2.24.2.14 -r2.24.2.15 *** codepage.cc 10 Jul 2008 16:10:05 -0000 2.24.2.14 --- codepage.cc 1 Aug 2017 14:10:40 -0000 2.24.2.15 *************** *** 1,5 **** /**[txh]******************************************************************** ! Copyright 1996-2003 by Salvador Eduardo Tropea (SET) This file is covered by the GPL license. --- 1,5 ---- /**[txh]******************************************************************** ! Copyright 1996-2017 by Salvador Eduardo Tropea (SET) This file is covered by the GPL license. *************** *** 2962,2965 **** --- 2962,3160 ---- Description: + Converts a string containing UTF8 to Application Code Page. The len + indicates how many chars from orig we must process. The dest buffer must + be long enough to hold the result. If dest is NULL this routine just + meassure the length of the result. + + Return: -1 if the UTF8 sequence is wrong, the length of the converted + text otherwise. + + ***************************************************************************/ + + int TVCodePage::convertStrUTF8_2_CP(char *dest, const char *orig, + unsigned len) + { + const uchar *utf8=(const uchar *)orig; + uchar *d=(uchar *)dest; + unsigned unicode; + int retLen=0; + + uchar c=*(utf8++); + while (len--) + { + if ((c&0x80)==0) + {// 1 byte + unicode=c; + } + else if ((c&0xF8)==0xF0) + {// 4 bytes + if (len<3) return -1; + len-=3; + unicode =(c&0x07)<<18; + c=*(utf8++); + if ((c&0xC0)!=0x80) return -1; + unicode|=(c&0x3F)<<12; + c=*(utf8++); + if ((c&0xC0)!=0x80) return -1; + unicode|=(c&0x3F)<<6; + c=*(utf8++); + if ((c&0xC0)!=0x80) return -1; + unicode|=(c&0x3F); + } + else if ((c&0xE0)==0xE0) + {// 3 bytes + if (len<2) return -1; + len-=2; + unicode =(c&0x0F)<<12; + c=*(utf8++); + if ((c&0xC0)!=0x80) return -1; + unicode|=(c&0x3F)<<6; + c=*(utf8++); + if ((c&0xC0)!=0x80) return -1; + unicode|=(c&0x3F); + } + else + {// 2 bytes + if (!len) return -1; + len-=1; + unicode =(c&0x1F)<<6; + c=*(utf8++); + if ((c&0xC0)!=0x80) return -1; + unicode|=(c&0x3F); + } + c=*(utf8++); + // Convert the unicode value to the app code page + if (dest) + { + if (unicode>0xFFFF) + d+=sprintf((char *)d,"&#x%08X;",unicode); // � 12 + else + { + uint16 cp=unicodeToApp->search(unicode); + if (cp==0xFFFF) + d+=sprintf((char *)d,"&#x%04X;",unicode); // � 8 + else + *(d++)=(uchar)cp; + } + } + else + { + if (unicode>0xFFFF) + retLen+=12; + else + { + uint16 cp=unicodeToApp->search(unicode); + retLen+=cp==0xFFFF ? 8 : 1; + } + } + } + if (dest) + { + *d=0; + retLen=d-(uchar *)dest; + } + return retLen; + } + + /**[txh]******************************************************************** + + Description: + Converts a string containing Application Code Page to UTF8. Only len bytes + are processed. If dest is NULL it just meassures the destination length. + + Return: The destination length, or -1 if the string can't be represented + using UTF8. + + ***************************************************************************/ + + int TVCodePage::convertStrCP_2_UTF8(char *dest, const char *orig, + unsigned len) + { + const uchar *o=(const uchar *)orig; + uchar *d=(uchar *)dest; + unsigned unicode; + int retLen=0; + + while (len--) + { + if (*o=='&') + { + unicode='&'; + // Is it a 12 bytes escaped U32? + if (len>=11 && o[1]=='#' && o[2]=='x' && o[11]==';') + {// Seems to be, try + char *end; + unsigned v=strtoul((const char *)(o+3),&end,16); + if (end-(char *)o==11) + { + unicode=v; + len-=11; + o+=11; + } + } + // Is it an 8 bytes escaped U16? + else if (len>=7 && o[1]=='#' && o[2]=='x' && o[7]==';') + {// Seems to be, try + char *end; + unsigned v=strtoul((const char *)(o+3),&end,16); + if (end-(char *)o==7) + { + unicode=v; + len-=7; + o+=7; + } + } + } + else + unicode=appToUnicode[*o]; + o++; + // Now encode the unicode value using UTF8 + if (unicode<=0x7F) + { + retLen++; + if (d) + *(d++)=unicode; + } + else if (unicode<=0x7FF) + { + retLen+=2; + if (d) + { + *(d++)=0xC0 | (unicode>>6); + *(d++)=0x80 | (unicode&0x3F); + } + } + else if (unicode<=0xFFFF) + { + retLen+=3; + if (d) + { + *(d++)=0xE0 | (unicode>>12); + *(d++)=0x80 | ((unicode>>6)&0x3F); + *(d++)=0x80 | (unicode&0x3F); + } + } + else if (unicode<=0x1FFFFF) + { + retLen+=4; + if (d) + { + *(d++)=0xF0 | (unicode>>18); + *(d++)=0x80 | ((unicode>>12)&0x3F); + *(d++)=0x80 | ((unicode>> 6)&0x3F); + *(d++)=0x80 | (unicode&0x3F); + } + } + else // UTF8 doesn't support bigger values + return -1; + } + if (d) + *d=0; + return retLen; + } + + /**[txh]******************************************************************** + + Description: Converts a string containing Application Code Page to Unicode. The destination must be (len+1)*2 bytes for the EOS. *************** *** 2973,2977 **** { uint16 *d=(uint16 *)dest; ! uchar *o=(uchar *)orig; while (len--) *(d++)=appToUnicode[*(o++)]; --- 3168,3172 ---- { uint16 *d=(uint16 *)dest; ! const uchar *o=(const uchar *)orig; while (len--) *(d++)=appToUnicode[*(o++)]; |
From: Salvador E. T. <se...@us...> - 2017-07-31 22:55:46
|
Update of /cvsroot/tvision/tvision/examples/utf8 In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv29272/examples/utf8 Modified Files: Tag: r2_0_1u tvrc Log Message: * Added: [examples/UTF8] How to select the "Fixed medium" font used in SETEdit from X11. In fact the font *is* from Xorg. Index: tvrc =================================================================== RCS file: /cvsroot/tvision/tvision/examples/utf8/Attic/tvrc,v retrieving revision 1.1.2.5 retrieving revision 1.1.2.6 diff -C2 -d -r1.1.2.5 -r1.1.2.6 *** tvrc 6 Dec 2004 18:06:15 -0000 1.1.2.5 --- tvrc 31 Jul 2017 22:55:42 -0000 1.1.2.6 *************** *** 6,12 **** UnicodeFont="boxround.sft" UseX11Fonts=1 ! FontWidth=12 ! FontHeight=13 ScreenHeight=40 #X11Font="-adobe-courier-*-r-*-*-18-*-*-*-m-*-iso10646-*" #X11Font="-b&h-lucidatypewriter-*-r-*-*-18-*-*-*-m-*-iso10646-*" --- 6,15 ---- UnicodeFont="boxround.sft" UseX11Fonts=1 ! FontWidth=10 ! FontHeight=20 ScreenHeight=40 + ScreenWidth=110 + # This font is the Fixed medium used in TV + X11Font="-misc-fixed-*-r-normal-*-20-*-*-*-*-*-iso10646-1" #X11Font="-adobe-courier-*-r-*-*-18-*-*-*-m-*-iso10646-*" #X11Font="-b&h-lucidatypewriter-*-r-*-*-18-*-*-*-m-*-iso10646-*" *************** *** 21,22 **** --- 24,26 ---- } + |
From: Salvador E. T. <se...@us...> - 2017-07-31 22:55:45
|
Update of /cvsroot/tvision/tvision In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv29272 Modified Files: Tag: r2_0_1u change.log Log Message: * Added: [examples/UTF8] How to select the "Fixed medium" font used in SETEdit from X11. In fact the font *is* from Xorg. Index: change.log =================================================================== RCS file: /cvsroot/tvision/tvision/change.log,v retrieving revision 2.399.2.403 retrieving revision 2.399.2.404 diff -C2 -d -r2.399.2.403 -r2.399.2.404 *** change.log 31 Jul 2017 15:28:37 -0000 2.399.2.403 --- change.log 31 Jul 2017 22:55:42 -0000 2.399.2.404 *************** *** 1,3 **** --- 1,7 ---- $Log$ + Revision 2.399.2.404 2017/07/31 22:55:42 set + * Added: [examples/UTF8] How to select the "Fixed medium" font used in + SETEdit from X11. In fact the font *is* from Xorg. + . Revision 2.399.2.403 2017/07/31 15:28:37 set * Modified: Version to 2.2.2. |
From: Salvador E. T. <se...@us...> - 2017-07-31 22:47:53
|
Update of /cvsroot/tvision/tvision/classes/x11 In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv28292/classes/x11 Modified Files: Tag: r2_0_1u x11src.cc Log Message: * Fixed: [X11] The code to optimize the redraw when using Unicode buffers. Index: x11src.cc =================================================================== RCS file: /cvsroot/tvision/tvision/classes/x11/x11src.cc,v retrieving revision 1.63.2.37 retrieving revision 1.63.2.38 diff -C2 -d -r1.63.2.37 -r1.63.2.38 *** x11src.cc 30 Jul 2017 20:07:03 -0000 1.63.2.37 --- x11src.cc 31 Jul 2017 22:47:49 -0000 1.63.2.38 *************** *** 1124,1134 **** uint32 *b32=(uint32 *)values; uint32 *sb32=(uint32 *)(screenBuffer+offset*2); ! unsigned i; // Skip repeated characters at the left ! for (i=0; count && b32[i]==sb32[i]; count--, i++); ! offset+=i; // Skip repeated characters at the right ! for (i=count-1; count && b32[i]==sb32[i]; count--, i--); ! if (!count) {// All skipped statSCSs++; --- 1124,1136 ---- uint32 *b32=(uint32 *)values; uint32 *sb32=(uint32 *)(screenBuffer+offset*2); ! unsigned skip, i; // Skip repeated characters at the left ! for (skip=0; w && b32[skip]==sb32[skip]; w--, skip++); ! offset+=skip; ! values+=skip*2; // Skip repeated characters at the right ! if (w) ! for (i=w-1; w && b32[skip+i]==sb32[skip+i]; w--, i--); ! if (!w) {// All skipped statSCSs++; *************** *** 1232,1241 **** uint32 *b32=(uint32 *)values; uint32 *sb32=(uint32 *)(screenBuffer+offset*2); ! unsigned i; // Skip repeated characters at the left ! for (i=0; w && b32[i]==sb32[i]; w--, i++); ! offset+=i; // Skip repeated characters at the right ! for (i=w-1; w && b32[i]==sb32[i]; w--, i--); if (!w) {// All skipped --- 1234,1245 ---- uint32 *b32=(uint32 *)values; uint32 *sb32=(uint32 *)(screenBuffer+offset*2); ! unsigned skip, i; // Skip repeated characters at the left ! for (skip=0; w && b32[skip]==sb32[skip]; w--, skip++); ! offset+=skip; ! values+=skip*2; // Skip repeated characters at the right ! if (w) ! for (i=w-1; w && b32[skip+i]==sb32[skip+i]; w--, i--); if (!w) {// All skipped *************** *** 1565,1571 **** --- 1569,1581 ---- startupMode=screenMode; if (drawingMode==unicode16) + { screenBuffer=new uint16[screenWidth*screenHeight*2]; + memset(screenBuffer,0,screenWidth*screenHeight*4); + } else + { screenBuffer=new uint16[screenWidth*screenHeight]; + memset(screenBuffer,0,screenWidth*screenHeight*2); + } /* Get screen and graphic context */ |
From: Salvador E. T. <se...@us...> - 2017-07-31 15:41:40
|
Update of /cvsroot/tvision/tvision In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv11324 Modified Files: version.txt change.log Log Message: * Modified: Version to 2.2.2. Index: version.txt =================================================================== RCS file: /cvsroot/tvision/tvision/version.txt,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** version.txt 14 Jul 2010 14:46:48 -0000 1.15 --- version.txt 31 Jul 2017 15:41:37 -0000 1.16 *************** *** 1 **** ! 2.2.1 --- 1 ---- ! 2.2.2 Index: change.log =================================================================== RCS file: /cvsroot/tvision/tvision/change.log,v retrieving revision 2.768 retrieving revision 2.769 diff -C2 -d -r2.768 -r2.769 *** change.log 31 Jul 2017 13:08:43 -0000 2.768 --- change.log 31 Jul 2017 15:41:37 -0000 2.769 *************** *** 1,7 **** $Log$ Revision 2.768 2017/07/31 13:08:43 set * Fixed: [AlCon] Wrong offset in AlCon_GetScrChars and AlCon_PutChar. * Fixed: [AlCon] Wrong Delete key mapping. ! . Revision 2.767 2017/07/30 21:00:14 set * Modified: [Debian] DebHelper compat level from 1 to 5, also moved some --- 1,10 ---- $Log$ + Revision 2.769 2017/07/31 15:41:37 set + * Modified: Version to 2.2.2. + Revision 2.768 2017/07/31 13:08:43 set * Fixed: [AlCon] Wrong offset in AlCon_GetScrChars and AlCon_PutChar. * Fixed: [AlCon] Wrong Delete key mapping. ! Revision 2.767 2017/07/30 21:00:14 set * Modified: [Debian] DebHelper compat level from 1 to 5, also moved some |
From: Salvador E. T. <se...@us...> - 2017-07-31 15:28:41
|
Update of /cvsroot/tvision/tvision/qnxrtp In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv9335/qnxrtp Modified Files: Tag: r2_0_1u tvision.qpg Log Message: * Modified: Version to 2.2.2. Index: tvision.qpg =================================================================== RCS file: /cvsroot/tvision/tvision/qnxrtp/tvision.qpg,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -C2 -d -r1.1.2.8 -r1.1.2.9 *** tvision.qpg 14 Jul 2010 14:36:54 -0000 1.1.2.8 --- tvision.qpg 31 Jul 2017 15:28:38 -0000 1.1.2.9 *************** *** 25,31 **** <QPG:Files> <QPG:Add file="../copying" install="LicenseUrl/" handling="repdata"/> ! <QPG:Add permissions="0755" file="../makes/librhtv.so.2.2.1" install="/opt/lib/"/> ! <QPG:Add filetype="symlink" file="librhtv.so" install="/opt/lib/" linkto="librhtv.so.2.2.1"/> ! <QPG:Add filetype="symlink" file="librhtv.so.2" install="/opt/lib/" linkto="librhtv.so.2.2.1"/> <QPG:Add permissions="0644" file="../makes/librhtv.a" install="/opt/lib/"/> <QPG:Add permissions="0644" file="../makes/libtvfintl.a" install="/opt/lib/"/> --- 25,31 ---- <QPG:Files> <QPG:Add file="../copying" install="LicenseUrl/" handling="repdata"/> ! <QPG:Add permissions="0755" file="../makes/librhtv.so.2.2.2" install="/opt/lib/"/> ! <QPG:Add filetype="symlink" file="librhtv.so" install="/opt/lib/" linkto="librhtv.so.2.2.2"/> ! <QPG:Add filetype="symlink" file="librhtv.so.2" install="/opt/lib/" linkto="librhtv.so.2.2.2"/> <QPG:Add permissions="0644" file="../makes/librhtv.a" install="/opt/lib/"/> <QPG:Add permissions="0644" file="../makes/libtvfintl.a" install="/opt/lib/"/> *************** *** 95,99 **** </QPM:ProductDescription> <QPM:ReleaseDescription> ! <QPM:ReleaseVersion>2.2.1</QPM:ReleaseVersion> <QPM:ReleaseUrgency>High</QPM:ReleaseUrgency> <QPM:ReleaseStability>Stable</QPM:ReleaseStability> --- 95,99 ---- </QPM:ProductDescription> <QPM:ReleaseDescription> ! <QPM:ReleaseVersion>2.2.2</QPM:ReleaseVersion> <QPM:ReleaseUrgency>High</QPM:ReleaseUrgency> <QPM:ReleaseStability>Stable</QPM:ReleaseStability> |
From: Salvador E. T. <se...@us...> - 2017-07-31 15:28:40
|
Update of /cvsroot/tvision/tvision In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv9335 Modified Files: Tag: r2_0_1u version.txt change.log Log Message: * Modified: Version to 2.2.2. Index: version.txt =================================================================== RCS file: /cvsroot/tvision/tvision/version.txt,v retrieving revision 1.9.2.6 retrieving revision 1.9.2.7 diff -C2 -d -r1.9.2.6 -r1.9.2.7 *** version.txt 14 Jul 2010 14:36:53 -0000 1.9.2.6 --- version.txt 31 Jul 2017 15:28:37 -0000 1.9.2.7 *************** *** 1 **** ! 2.2.1 --- 1 ---- ! 2.2.2 Index: change.log =================================================================== RCS file: /cvsroot/tvision/tvision/change.log,v retrieving revision 2.399.2.402 retrieving revision 2.399.2.403 diff -C2 -d -r2.399.2.402 -r2.399.2.403 *** change.log 31 Jul 2017 13:06:55 -0000 2.399.2.402 --- change.log 31 Jul 2017 15:28:37 -0000 2.399.2.403 *************** *** 1,7 **** $Log$ Revision 2.399.2.402 2017/07/31 13:06:55 set * Fixed: [AlCon] Wrong offset in AlCon_GetScrChars and AlCon_PutChar. * Fixed: [AlCon] Wrong Delete key mapping. ! . Revision 2.399.2.401 2017/07/30 20:52:37 set * Modified: [Debian] DebHelper compat level from 1 to 5, also moved some --- 1,10 ---- $Log$ + Revision 2.399.2.403 2017/07/31 15:28:37 set + * Modified: Version to 2.2.2. + Revision 2.399.2.402 2017/07/31 13:06:55 set * Fixed: [AlCon] Wrong offset in AlCon_GetScrChars and AlCon_PutChar. * Fixed: [AlCon] Wrong Delete key mapping. ! Revision 2.399.2.401 2017/07/30 20:52:37 set * Modified: [Debian] DebHelper compat level from 1 to 5, also moved some |
From: Salvador E. T. <se...@us...> - 2017-07-31 13:08:47
|
Update of /cvsroot/tvision/tvision In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv19861 Modified Files: change.log Log Message: * Fixed: [AlCon] Wrong offset in AlCon_GetScrChars and AlCon_PutChar. * Fixed: [AlCon] Wrong Delete key mapping. Index: change.log =================================================================== RCS file: /cvsroot/tvision/tvision/change.log,v retrieving revision 2.767 retrieving revision 2.768 diff -C2 -d -r2.767 -r2.768 *** change.log 30 Jul 2017 21:00:14 -0000 2.767 --- change.log 31 Jul 2017 13:08:43 -0000 2.768 *************** *** 1,3 **** --- 1,7 ---- $Log$ + Revision 2.768 2017/07/31 13:08:43 set + * Fixed: [AlCon] Wrong offset in AlCon_GetScrChars and AlCon_PutChar. + * Fixed: [AlCon] Wrong Delete key mapping. + . Revision 2.767 2017/07/30 21:00:14 set * Modified: [Debian] DebHelper compat level from 1 to 5, also moved some |
From: Salvador E. T. <se...@us...> - 2017-07-31 13:06:59
|
Update of /cvsroot/tvision/tvision In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv19548 Modified Files: Tag: r2_0_1u change.log Log Message: * Fixed: [AlCon] Wrong offset in AlCon_GetScrChars and AlCon_PutChar. * Fixed: [AlCon] Wrong Delete key mapping. Index: change.log =================================================================== RCS file: /cvsroot/tvision/tvision/change.log,v retrieving revision 2.399.2.401 retrieving revision 2.399.2.402 diff -C2 -d -r2.399.2.401 -r2.399.2.402 *** change.log 30 Jul 2017 20:52:37 -0000 2.399.2.401 --- change.log 31 Jul 2017 13:06:55 -0000 2.399.2.402 *************** *** 1,3 **** --- 1,7 ---- $Log$ + Revision 2.399.2.402 2017/07/31 13:06:55 set + * Fixed: [AlCon] Wrong offset in AlCon_GetScrChars and AlCon_PutChar. + * Fixed: [AlCon] Wrong Delete key mapping. + . Revision 2.399.2.401 2017/07/30 20:52:37 set * Modified: [Debian] DebHelper compat level from 1 to 5, also moved some |
From: Salvador E. T. <se...@us...> - 2017-07-30 21:00:17
|
Update of /cvsroot/tvision/tvision/debian In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv1027/debian Modified Files: rules Added Files: compat Log Message: * Modified: [Debian] DebHelper compat level from 1 to 5, also moved some files that are no longer automagically moved. Index: rules =================================================================== RCS file: /cvsroot/tvision/tvision/debian/rules,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** rules 17 Nov 2016 21:09:05 -0000 1.34 --- rules 30 Jul 2017 21:00:14 -0000 1.35 *************** *** 16,20 **** # This is the debhelper compatibility version to use: ! export DH_COMPAT=1 # Set CFLAGS according to the Debian Policy: --- 16,20 ---- # This is the debhelper compatibility version to use: ! export DH_COMPAT=5 # Set CFLAGS according to the Debian Policy: *************** *** 26,30 **** endif CXXFLAGS = $(CFLAGS) ! # Compile the beast!: --- 26,30 ---- endif CXXFLAGS = $(CFLAGS) ! LDFLAGS= # Compile the beast!: *************** *** 37,44 **** mv debian/rhtvision.postrm debian/rhtvision$(version).postrm endif ! CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" ./configure \ --prefix=$(destdir) --fhs --no-libs-here --real-prefix=/usr \ --libs-subdir=$(LIB_SUBDIR) ! CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" $(MAKE) -j `nproc` touch build-stamp --- 37,44 ---- mv debian/rhtvision.postrm debian/rhtvision$(version).postrm endif ! CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure \ --prefix=$(destdir) --fhs --no-libs-here --real-prefix=/usr \ --libs-subdir=$(LIB_SUBDIR) ! CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" $(MAKE) -j `nproc` touch build-stamp *************** *** 93,96 **** --- 93,97 ---- dh_movefiles -p $(package)$(version) usr/lib/$(LIB_SUBDIR)/librhtv.so.$(version) \ usr/share/locale/ + dh_movefiles -p $(package)$(version)-dev usr/ |
From: Salvador E. T. <se...@us...> - 2017-07-30 20:52:41
|
Update of /cvsroot/tvision/tvision In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv32175 Modified Files: Tag: r2_0_1u change.log Log Message: * Modified: [Debian] DebHelper compat level from 1 to 5, also moved some files that are no longer automagically moved. Index: change.log =================================================================== RCS file: /cvsroot/tvision/tvision/change.log,v retrieving revision 2.399.2.400 retrieving revision 2.399.2.401 diff -C2 -d -r2.399.2.400 -r2.399.2.401 *** change.log 30 Jul 2017 20:07:04 -0000 2.399.2.400 --- change.log 30 Jul 2017 20:52:37 -0000 2.399.2.401 *************** *** 1,7 **** $Log$ Revision 2.399.2.400 2017/07/30 20:07:04 set * Added: [X11] Support for the XA_TARGETS request. It solves clipboard problems on KDE (tested on KDE 5.28) ! . Revision 2.399.2.399 2017/07/30 17:11:39 set * Modified: [X11] Eliminated the cursorGC. --- 1,11 ---- $Log$ + Revision 2.399.2.401 2017/07/30 20:52:37 set + * Modified: [Debian] DebHelper compat level from 1 to 5, also moved some + files that are no longer automagically moved. + Revision 2.399.2.400 2017/07/30 20:07:04 set * Added: [X11] Support for the XA_TARGETS request. It solves clipboard problems on KDE (tested on KDE 5.28) ! Revision 2.399.2.399 2017/07/30 17:11:39 set * Modified: [X11] Eliminated the cursorGC. |
From: Salvador E. T. <se...@us...> - 2017-07-30 20:39:21
|
Update of /cvsroot/tvision/tvision/include/tv/x11 In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv30171/include/tv/x11 Modified Files: screen.h Log Message: * Added: [X11] Support for the XA_TARGETS request. It solves clipboard problems on KDE (tested on KDE 5.28) Index: screen.h =================================================================== RCS file: /cvsroot/tvision/tvision/include/tv/x11/screen.h,v retrieving revision 2.33 retrieving revision 2.34 diff -C2 -d -r2.33 -r2.34 *** screen.h 30 Jul 2017 20:37:25 -0000 2.33 --- screen.h 30 Jul 2017 20:39:17 -0000 2.34 *************** *** 107,110 **** --- 107,111 ---- // Events loop static void ProcessGenericEvents(); + static void ProcessSelectionRequest(XEvent &event); // Internal line update static void writeLine(int x, int y, int w, unsigned char *str, unsigned color); *************** *** 162,165 **** --- 163,169 ---- // Needed to catch the windows close static Atom theProtocols; + // Clipboard properties + static Atom XA_TARGETS; + static Atom XA_MULTIPLE; // Our colors mapped to X ones static ulong colorMap[16]; |
From: Salvador E. T. <se...@us...> - 2017-07-30 20:39:20
|
Update of /cvsroot/tvision/tvision In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv30171 Modified Files: change.log Log Message: * Added: [X11] Support for the XA_TARGETS request. It solves clipboard problems on KDE (tested on KDE 5.28) Index: change.log =================================================================== RCS file: /cvsroot/tvision/tvision/change.log,v retrieving revision 2.765 retrieving revision 2.766 diff -C2 -d -r2.765 -r2.766 *** change.log 30 Jul 2017 20:37:24 -0000 2.765 --- change.log 30 Jul 2017 20:39:17 -0000 2.766 *************** *** 1,3 **** --- 1,7 ---- $Log$ + Revision 2.766 2017/07/30 20:39:17 set + * Added: [X11] Support for the XA_TARGETS request. It solves clipboard + problems on KDE (tested on KDE 5.28) + . Revision 2.765 2017/07/30 20:37:24 set * Modified: [X11] Eliminated the cursorGC. |
From: Salvador E. T. <se...@us...> - 2017-07-30 20:37:28
|
Update of /cvsroot/tvision/tvision/classes/x11 In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv29853/classes/x11 Modified Files: x11src.cc Log Message: * Modified: [X11] Eliminated the cursorGC. * Modified: [X11] Avoided X11 calls when setting colors in truecolor mode. Index: x11src.cc =================================================================== RCS file: /cvsroot/tvision/tvision/classes/x11/x11src.cc,v retrieving revision 1.91 retrieving revision 1.92 diff -C2 -d -r1.91 -r1.92 *** x11src.cc 30 Jul 2017 20:29:35 -0000 1.91 --- x11src.cc 30 Jul 2017 20:37:25 -0000 1.92 *************** *** 114,118 **** uint32 TScreenX11::gcForeground; // Last values used uint32 TScreenX11::gcBackground; - GC TScreenX11::cursorGC=NULL; XIC TScreenX11::xic=NULL; XIM TScreenX11::xim=NULL; --- 114,117 ---- *************** *** 179,184 **** } - if (cursorGC) - XFreeGC(disp,cursorGC); XDestroyWindow(disp,mainWin); XCloseDisplay(disp); //This could do all of the above for us, but anyway... --- 178,181 ---- *************** *** 1154,1160 **** memcpy(ActualPalette,pal,sizeof(ActualPalette)); - /* A graphics context for the text cursor */ - cursorGC=XCreateGC(disp,mainWin,0,0); - /* Create the cursor timer */ gettimeofday(&refCursorTime,0); --- 1151,1154 ---- *************** *** 1318,1323 **** uchar newAttr=theChar[attrPos]; ! XSetBgFgC(newAttr); ! drawChar(cursorGC,cursorX*fontW,cursorY*fontH,newChar,newAttr); cursorInScreen=0; SEMAPHORE_OFF; --- 1312,1317 ---- uchar newAttr=theChar[attrPos]; ! XSetBgFg(newAttr); ! drawChar(gc,cursorX*fontW,cursorY*fontH,newChar,newAttr); cursorInScreen=0; SEMAPHORE_OFF; *************** *** 1325,1348 **** } - void TScreenX11::XSetBgFgC(uint16 attr) - { - int bg=attr>>4; - int fg=attr & 0xF; - if (bg==fg) - fg=~bg & 0xF; - gcForeground=(uint32)colorMap[fg]; - gcBackground=(uint32)colorMap[bg]; - XSetBackground(disp,cursorGC,colorMap[bg]); - XSetForeground(disp,cursorGC,colorMap[fg]); - } - void TScreenX11::XSetBgFg(uint16 attr) { int bg=attr>>4; int fg=attr & 0xF; ! gcForeground=(uint32)colorMap[fg]; ! gcBackground=(uint32)colorMap[bg]; ! XSetBackground(disp,gc,colorMap[bg]); ! XSetForeground(disp,gc,colorMap[fg]); } --- 1319,1336 ---- } void TScreenX11::XSetBgFg(uint16 attr) { int bg=attr>>4; int fg=attr & 0xF; ! if (isTrueColor) ! { ! gcForeground=(uint32)colorMap[fg]; ! gcBackground=(uint32)colorMap[bg]; ! } ! else ! { ! XSetBackground(disp,gc,colorMap[bg]); ! XSetForeground(disp,gc,colorMap[fg]); ! } } *************** *** 1359,1363 **** uchar *theChar=(uchar *)(screenBuffer+offset); int attr=theChar[attrPos]; ! XSetBgFgC(attr); memcpy(cursorData,useSecondaryFont && (attr & 8) ? ximgSecFont[theChar[charPos]]->data : --- 1347,1351 ---- uchar *theChar=(uchar *)(screenBuffer+offset); int attr=theChar[attrPos]; ! XSetBgFg(attr); memcpy(cursorData,useSecondaryFont && (attr & 8) ? ximgSecFont[theChar[charPos]]->data : |
From: Salvador E. T. <se...@us...> - 2017-07-30 20:29:39
|
Update of /cvsroot/tvision/tvision In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv28606 Modified Files: change.log Log Message: * Modified: [X11] Eliminated the cursorGC. * Modified: [X11] Avoided X11 calls when setting colors in truecolor mode. Index: change.log =================================================================== RCS file: /cvsroot/tvision/tvision/change.log,v retrieving revision 2.763 retrieving revision 2.764 diff -C2 -d -r2.763 -r2.764 *** change.log 30 Jul 2017 20:26:31 -0000 2.763 --- change.log 30 Jul 2017 20:29:35 -0000 2.764 *************** *** 1,3 **** --- 1,7 ---- $Log$ + Revision 2.764 2017/07/30 20:29:35 set + * Modified: [X11] Eliminated the cursorGC. + * Modified: [X11] Avoided X11 calls when setting colors in truecolor mode. + . Revision 2.763 2017/07/30 20:26:31 set * Added: [X11] A new mode where mochrome fonts are expanded to truecolor |
From: Salvador E. T. <se...@us...> - 2017-07-30 20:26:35
|
Update of /cvsroot/tvision/tvision/include/tv/x11 In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv28111/include/tv/x11 Modified Files: screen.h Log Message: * Added: [X11] A new mode where mochrome fonts are expanded to truecolor locally. My system performs 100s time slower on Debian 9 (compared to Debian 8) using it the problem is just 10s times slower. Index: screen.h =================================================================== RCS file: /cvsroot/tvision/tvision/include/tv/x11/screen.h,v retrieving revision 2.31 retrieving revision 2.32 diff -C2 -d -r2.31 -r2.32 *** screen.h 29 May 2015 13:17:05 -0000 2.31 --- screen.h 30 Jul 2017 20:26:32 -0000 2.32 *************** *** 123,126 **** --- 123,128 ---- inline static void drawChar(GC gc, unsigned x, unsigned y, uchar aChar, uchar aAttr); + inline + static void putChar(XImage *img, unsigned x, unsigned y); // Creates the mouse cursors static Boolean createCursors(); *************** *** 154,157 **** --- 156,161 ---- // Normal graphics context static GC gc; + static uint32 gcForeground; + static uint32 gcBackground; // Cursor graphics context static GC cursorGC; *************** *** 166,169 **** --- 170,175 ---- static XImage *ximgFont[256]; static XImage *ximgSecFont[256]; + static XImage *ximgAux32; /* Aux true color template image */ + static uint32 *aux32data; /* Data for the above XImage */ // The image for the cursor static XImage *cursorImage; *************** *** 183,186 **** --- 189,194 ---- // Avoid resizing to a cells multiple if the WM doesn't follow our hints static char dontResizeToCells; + // Expand the glyphs to a true-color XImage locally + static char useTrueColorXImage; // Busy cursor stuff static Cursor busyCursor, leftPtr; *************** *** 191,194 **** --- 199,203 ---- static int appHelperError; static TNSCollection *appHelperHandlers; + static bool isTrueColor; }; |
From: Salvador E. T. <se...@us...> - 2017-07-30 20:21:33
|
Update of /cvsroot/tvision/tvision/classes/x11 In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv27315/classes/x11 Modified Files: x11src.cc Log Message: * Fixed: Ambiguous calls to abs using unsigned int as argument. Index: x11src.cc =================================================================== RCS file: /cvsroot/tvision/tvision/classes/x11/x11src.cc,v retrieving revision 1.88 retrieving revision 1.89 diff -C2 -d -r1.88 -r1.89 *** x11src.cc 29 May 2015 13:17:05 -0000 1.88 --- x11src.cc 30 Jul 2017 20:21:30 -0000 1.89 *************** *** 1895,1899 **** else { ! unsigned target=fW*fH; int dif1=abs(8*16-target); int dif2=abs(10*20-target); --- 1895,1899 ---- else { ! int target=fW*fH; int dif1=abs(8*16-target); int dif2=abs(10*20-target); |
From: Salvador E. T. <se...@us...> - 2017-07-30 20:20:11
|
Update of /cvsroot/tvision/tvision In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv27081 Modified Files: config.pl confignt.pl change.log Log Message: * Fixed: [config] Now the require statement needs a relative path to include Perl files. Index: config.pl =================================================================== RCS file: /cvsroot/tvision/tvision/config.pl,v retrieving revision 1.139 retrieving revision 1.140 diff -C2 -d -r1.139 -r1.140 *** config.pl 17 Nov 2016 21:09:05 -0000 1.139 --- config.pl 30 Jul 2017 20:20:07 -0000 1.140 *************** *** 6,11 **** # ! require "miscperl.pl"; ! require "conflib.pl"; # This optimization is giving problems and current PCs are quite fast to --- 6,11 ---- # ! require "./miscperl.pl"; ! require "./conflib.pl"; # This optimization is giving problems and current PCs are quite fast to Index: confignt.pl =================================================================== RCS file: /cvsroot/tvision/tvision/confignt.pl,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** confignt.pl 2 Jun 2003 14:47:15 -0000 1.5 --- confignt.pl 30 Jul 2017 20:20:07 -0000 1.6 *************** *** 4,9 **** # ! require "miscperl.pl"; ! require "conflib.pl"; SeeCommandLine(); --- 4,9 ---- # ! require "./miscperl.pl"; ! require "./conflib.pl"; SeeCommandLine(); Index: change.log =================================================================== RCS file: /cvsroot/tvision/tvision/change.log,v retrieving revision 2.760 retrieving revision 2.761 diff -C2 -d -r2.760 -r2.761 *** change.log 21 Nov 2016 13:57:07 -0000 2.760 --- change.log 30 Jul 2017 20:20:07 -0000 2.761 *************** *** 1,6 **** $Log$ Revision 2.760 2016/11/21 13:57:07 set * Added: [WWW] released files. ! . Revision 2.759 2016/11/17 21:09:05 set * Added: [config] A configuration option to specify the libs subdirectory. --- 1,10 ---- $Log$ + Revision 2.761 2017/07/30 20:20:07 set + * Fixed: [config] Now the require statement needs a relative path to + include Perl files. + Revision 2.760 2016/11/21 13:57:07 set * Added: [WWW] released files. ! Revision 2.759 2016/11/17 21:09:05 set * Added: [config] A configuration option to specify the libs subdirectory. *************** *** 12,16 **** * Modified: [Debian] To specify the architecture libs subdirectory during the configuration, not during the installation. ! . Revision 2.758 2016/11/17 18:56:14 set * Fixed: [TVIntl] Modern gettext releases automagically reencodes messages, --- 16,20 ---- * Modified: [Debian] To specify the architecture libs subdirectory during the configuration, not during the installation. ! Revision 2.758 2016/11/17 18:56:14 set * Fixed: [TVIntl] Modern gettext releases automagically reencodes messages, *************** *** 21,28 **** * Added: [Debian] Compilation using all available CPUs. * Modified: [Debian] To install the library in the architecture subdir. ! . Revision 2.757 2015/11/02 13:50:21 set * Fixed: Compilation error when using NO_STREAM. ! . Revision 2.756 2015/05/29 13:17:05 set * Modified: [config.pl] The name of the suggested X11 development package. --- 25,32 ---- * Added: [Debian] Compilation using all available CPUs. * Modified: [Debian] To install the library in the architecture subdir. ! Revision 2.757 2015/11/02 13:50:21 set * Fixed: Compilation error when using NO_STREAM. ! Revision 2.756 2015/05/29 13:17:05 set * Modified: [config.pl] The name of the suggested X11 development package. |
From: Salvador E. T. <se...@us...> - 2017-07-30 20:07:07
|
Update of /cvsroot/tvision/tvision/include/tv/x11 In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24859/include/tv/x11 Modified Files: Tag: r2_0_1u screen.h Log Message: * Added: [X11] Support for the XA_TARGETS request. It solves clipboard problems on KDE (tested on KDE 5.28) Index: screen.h =================================================================== RCS file: /cvsroot/tvision/tvision/include/tv/x11/screen.h,v retrieving revision 2.24.2.13 retrieving revision 2.24.2.14 diff -C2 -d -r2.24.2.13 -r2.24.2.14 *** screen.h 30 Jul 2017 17:11:39 -0000 2.24.2.13 --- screen.h 30 Jul 2017 20:07:04 -0000 2.24.2.14 *************** *** 110,113 **** --- 110,114 ---- // Events loop static void ProcessGenericEvents(); + static void ProcessSelectionRequest(XEvent &event); // Internal line update static void writeLineCP(int x, int y, int w, void *str, unsigned color); *************** *** 176,179 **** --- 177,183 ---- // Needed to catch the windows close static Atom theProtocols; + // Clipboard properties + static Atom XA_TARGETS; + static Atom XA_MULTIPLE; // Our colors mapped to X ones static ulong colorMap[16]; |
From: Salvador E. T. <se...@us...> - 2017-07-30 17:11:42
|
Update of /cvsroot/tvision/tvision/classes/x11 In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv11140/classes/x11 Modified Files: Tag: r2_0_1u x11src.cc Log Message: * Modified: [X11] Eliminated the cursorGC. * Modified: [X11] Avoided X11 calls when setting colors in truecolor mode. Index: x11src.cc =================================================================== RCS file: /cvsroot/tvision/tvision/classes/x11/x11src.cc,v retrieving revision 1.63.2.35 retrieving revision 1.63.2.36 diff -C2 -d -r1.63.2.35 -r1.63.2.36 *** x11src.cc 30 Jul 2017 16:43:17 -0000 1.63.2.35 --- x11src.cc 30 Jul 2017 17:11:38 -0000 1.63.2.36 *************** *** 118,122 **** uint32 TScreenX11::gcForeground; // Last values used uint32 TScreenX11::gcBackground; - GC TScreenX11::cursorGC=NULL; XIC TScreenX11::xic=NULL; XIM TScreenX11::xim=NULL; --- 118,121 ---- *************** *** 187,192 **** } - if (cursorGC) - XFreeGC(disp,cursorGC); XDestroyWindow(disp,mainWin); XCloseDisplay(disp); //This could do all of the above for us, but anyway... --- 186,189 ---- *************** *** 1573,1577 **** gc=DefaultGC(disp,screen); visual=DefaultVisual(disp,screen); ! isTrueColor=DefaultDepth(disp,screen)>=24 && useTrueColorXImage; if (useX11Font) XSetFont(disp,gc,x11Font); --- 1570,1575 ---- gc=DefaultGC(disp,screen); visual=DefaultVisual(disp,screen); ! isTrueColor=DefaultDepth(disp,screen)>=24 && useTrueColorXImage && ! !useX11Font; if (useX11Font) XSetFont(disp,gc,x11Font); *************** *** 1693,1702 **** memcpy(ActualPalette,pal,sizeof(ActualPalette)); - /* A graphics context for the text cursor */ - cursorGC=XCreateGC(disp,mainWin,0,0); - if (useX11Font) - /* Select the same font for this context */ - XSetFont(disp,cursorGC,x11Font); - /* Create the cursor timer */ gettimeofday(&refCursorTime,0); --- 1691,1694 ---- *************** *** 1864,1869 **** uchar newChar=theChar[charPos]; uchar newAttr=theChar[attrPos]; ! XSetBgFgC(newAttr); ! drawChar(cursorGC,cursorX*fontW,cursorY*fontH,newChar,newAttr); } else --- 1856,1861 ---- uchar newChar=theChar[charPos]; uchar newAttr=theChar[attrPos]; ! XSetBgFg(newAttr); ! drawChar(gc,cursorX*fontW,cursorY*fontH,newChar,newAttr); } else *************** *** 1879,1884 **** uchar newChar=buf[charPos]; uchar newAttr=buf[attrPos]; ! XSetBgFgC(newAttr); ! drawCharU16(cursorGC,cursorX*fontW,cursorY*fontH,newChar); } } --- 1871,1876 ---- uchar newChar=buf[charPos]; uchar newAttr=buf[attrPos]; ! XSetBgFg(newAttr); ! drawCharU16(gc,cursorX*fontW,cursorY*fontH,newChar); } } *************** *** 1888,1911 **** } - void TScreenX11::XSetBgFgC(uint16 attr) - { - int bg=attr>>4; - int fg=attr & 0xF; - if (bg==fg) - fg=~bg & 0xF; - gcForeground=(uint32)colorMap[fg]; - gcBackground=(uint32)colorMap[bg]; - XSetBackground(disp,cursorGC,colorMap[bg]); - XSetForeground(disp,cursorGC,colorMap[fg]); - } - void TScreenX11::XSetBgFg(uint16 attr) { int bg=attr>>4; int fg=attr & 0xF; ! gcForeground=(uint32)colorMap[fg]; ! gcBackground=(uint32)colorMap[bg]; ! XSetBackground(disp,gc,colorMap[bg]); ! XSetForeground(disp,gc,colorMap[fg]); } --- 1880,1897 ---- } void TScreenX11::XSetBgFg(uint16 attr) { int bg=attr>>4; int fg=attr & 0xF; ! if (isTrueColor) ! { ! gcForeground=(uint32)colorMap[fg]; ! gcBackground=(uint32)colorMap[bg]; ! } ! else ! { ! XSetBackground(disp,gc,colorMap[bg]); ! XSetForeground(disp,gc,colorMap[fg]); ! } } *************** *** 1938,1945 **** if (cursorInScreen) { ! XSetBgFgC(attr); int y; for (y=cShapeFrom; y<cShapeTo; y++) ! XDrawLine(disp,mainWin,cursorGC,cursorPX,cursorPY+y,cursorPX+fontW-1,cursorPY+y); } XFlush(disp); --- 1924,1931 ---- if (cursorInScreen) { ! XSetBgFg(attr); int y; for (y=cShapeFrom; y<cShapeTo; y++) ! XDrawLine(disp,mainWin,gc,cursorPX,cursorPY+y,cursorPX+fontW-1,cursorPY+y); } XFlush(disp); *************** *** 1953,1957 **** } } ! XSetBgFgC(attr); //fprintf(stderr,"DrawCursor: cursorInScreen=%d from/to %d/%d\n",cursorInScreen,cShapeFrom,cShapeTo); --- 1939,1943 ---- } } ! XSetBgFg(attr); //fprintf(stderr,"DrawCursor: cursorInScreen=%d from/to %d/%d\n",cursorInScreen,cShapeFrom,cShapeTo); |
From: Salvador E. T. <se...@us...> - 2017-07-30 16:43:20
|
Update of /cvsroot/tvision/tvision In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv6558 Modified Files: Tag: r2_0_1u change.log Log Message: * Modified: [X11] Removed Un/DrawCursor calls that aren't really needed. * Modified: [X11] Use of monochrome XImage in DrawCursor (finally good performance on my Debian 9) Index: change.log =================================================================== RCS file: /cvsroot/tvision/tvision/change.log,v retrieving revision 2.399.2.397 retrieving revision 2.399.2.398 diff -C2 -d -r2.399.2.397 -r2.399.2.398 *** change.log 30 Jul 2017 16:15:54 -0000 2.399.2.397 --- change.log 30 Jul 2017 16:43:17 -0000 2.399.2.398 *************** *** 1,3 **** --- 1,8 ---- $Log$ + Revision 2.399.2.398 2017/07/30 16:43:17 set + * Modified: [X11] Removed Un/DrawCursor calls that aren't really needed. + * Modified: [X11] Use of monochrome XImage in DrawCursor (finally good + performance on my Debian 9) + . Revision 2.399.2.397 2017/07/30 16:15:54 set * Added: [X11] A new mode where mochrome fonts are expanded to truecolor |