Patch level : 2.0 500

Files correlati     : xvaga.dll
Ricompilazione Demo : [ ]
Commento            :

Corretto disegno rettangolo focus in Win98 e migliorata gestione font


git-svn-id: svn://10.65.10.50/trunk@11239 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2003-06-18 08:06:55 +00:00
parent 18ef8c0a4d
commit c34337e9ef
3 changed files with 37 additions and 18 deletions

View File

@ -76,7 +76,16 @@ int CALLBACK SizeEnumerator(
{
XvtData* d = (XvtData*)lParam;
long& i = d->cur_count;
const int size = (plf->lfHeight+5) / 10;
int size = (plf->lfHeight+5) / 10;
if (size <= 0)
{
for (const char* n = plf->lfFaceName; *n; n++)
if (*n >= '1' && *n <= '9')
{
size = int(10.0 / atoi(n) * 10.0 + 0.5);
break;
}
}
if (i == 0 || size > d->sizes[i-1])
{
d->sizes[i] = size;

View File

@ -32,7 +32,7 @@ XVT_CONFIG* _config_ = NULL;
wxWindow* _task_win = NULL;
wxWindow* _mouse_trapper = NULL;
RCT _startup_rect = { 0,0,0,0 };
wxString _startup_dir;
wxString* _startup_dir = NULL;
static wxHashTable _nice_windows;
static wxHashTable _nice_icons;
@ -96,7 +96,7 @@ wxRect NormalizeRCT(const RCT* prct)
wxString GetResourceName(const char* type, int rid)
{
wxString strName;
strName = _startup_dir;
strName = *_startup_dir;
strName += "/res/resource.ini";
wxFileConfig ini("", "", strName);
@ -106,7 +106,7 @@ wxString GetResourceName(const char* type, int rid)
wxString val;
if (ini.Read(wxString::Format("%d", rid), &val))
{
strName = _startup_dir;
strName = *_startup_dir;
strName += "/res/";
strName += val;
}
@ -1969,9 +1969,16 @@ void xvt_dwin_draw_rect(WINDOW win, RCT *rctp)
void xvt_dwin_draw_dotted_rect(WINDOW win, RCT *rctp)
{
#ifdef WIN32
CAST_DC(win, dc);
OsWin32_DrawDottedRect(dc.GetHDC(), rctp->left, rctp->top, rctp->right, rctp->bottom);
#else
static int can_draw_dots = -1;
if (can_draw_dots < 0)
can_draw_dots = xvt_sys_get_os_version() >= XVT_WS_WIN_NT;
if (can_draw_dots)
{
CAST_DC(win, dc);
OsWin32_DrawDottedRect(dc.GetHDC(), rctp->left, rctp->top, rctp->right, rctp->bottom);
return;
}
#endif
DRAW_CTOOLS dct;
xvt_dwin_get_draw_ctools(win, &dct);
@ -1990,7 +1997,6 @@ void xvt_dwin_draw_dotted_rect(WINDOW win, RCT *rctp)
xvt_dwin_draw_rect(win, rctp);
xvt_dwin_set_draw_ctools(win, &dct);
#endif
}
void xvt_dwin_draw_set_pos(WINDOW win, PNT pnt)
@ -2486,10 +2492,13 @@ BOOLEAN xvt_fsys_convert_str_to_dir(const char *path, DIRECTORY *dirp)
void xvt_fsys_get_default_dir(DIRECTORY *dirp)
{
if (_startup_dir.IsEmpty())
wxFileName::SplitPath(wxTheApp->argv[0], &_startup_dir, NULL, NULL);
if (_startup_dir == NULL)
{
_startup_dir = new wxString;
wxFileName::SplitPath(__argv[0], _startup_dir, NULL, NULL);
}
if (dirp != NULL)
xvt_fsys_convert_str_to_dir(_startup_dir, dirp);
xvt_fsys_convert_str_to_dir(*_startup_dir, dirp);
}
BOOLEAN xvt_fsys_get_dir(DIRECTORY *dirp)
@ -3170,7 +3179,7 @@ static void FillMenuItem(const wxString& strValue, MENU_ITEM* mi)
MENU_ITEM* xvt_res_get_menu(int rid)
{
wxString strName;
strName = _startup_dir;
strName = *_startup_dir;
strName += "/res/resource.ini";
wxFileConfig ini("", "", strName);
@ -3936,15 +3945,16 @@ long xvt_vobj_get_attr(WINDOW win, long data)
ret = (long)_error_handler;
break;
case ATTR_NATIVE_GRAPHIC_CONTEXT:
/*
if (_nice_windows.Get(win) != NULL)
{
#ifdef WIN32
CAST_DC(win, dc);
ret = dc.GetHDC();
#else
SORRY_BOX(); //verificare
#endif
}
*/
SORRY_BOX(); // Obsoleto e non piu' usato
break;
case ATTR_NATIVE_WINDOW:
if (_nice_windows.Get(win) != NULL)
@ -3953,7 +3963,7 @@ long xvt_vobj_get_attr(WINDOW win, long data)
CAST_WIN(win, w);
ret = w.GetHandle();
#else
SORRY_BOX(); //verificare
ret = win;
#endif
}
break;

View File

@ -213,7 +213,7 @@ BOOLEAN xvt_dm_post_page_setup(PRINT_RCD* precp)
long xvt_fmap_get_family_sizes(PRINT_RCD *precp, char *family, long *size_array, BOOLEAN *scalable, long max_sizes)
{
long size = 1;
size_array[0] = 13;
size_array[0] = 10;
*scalable = FALSE;
if (precp != NULL)
@ -330,9 +330,9 @@ WINDOW xvt_print_create_win(PRINT_RCD* precp, char* /* title */)
return win;
}
void xvt_print_destroy(PRINT_RCD *precp)
void xvt_print_destroy(PRINT_RCD* precp)
{
// Nothing to do!
delete precp;
}
RCT* xvt_print_get_next_band(void)