From b2f3c803d374147f233c52ed5795f07e106cc204 Mon Sep 17 00:00:00 2001 From: guy Date: Fri, 4 Jun 2004 13:01:45 +0000 Subject: [PATCH] Patch level : 2.1 nopatch Files correlati : Ricompilazione Demo : [ ] Commento : Tolti commenti e alcune strlen inutilizzate git-svn-id: svn://10.65.10.50/trunk@12151 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- xvaga/xvaga.cpp | 36 +++++++++++++++++++++++++++--------- xvaga/xvt.h | 1 + 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/xvaga/xvaga.cpp b/xvaga/xvaga.cpp index 46d4e9c68..b0230bb4e 100755 --- a/xvaga/xvaga.cpp +++ b/xvaga/xvaga.cpp @@ -2817,6 +2817,31 @@ BOOLEAN xvt_fsys_set_dir(DIRECTORY *dirp) // Images /////////////////////////////////////////////////////////// +XVT_IMAGE xvt_image_capture(WINDOW win, const RCT* src) +{ + wxRect r; + if (src == NULL) + { + RCT rct; xvt_vobj_get_client_rect(win, &rct); + r = NormalizeRCT(&rct); + } + else + r = NormalizeRCT(src); + + TXVT_IMAGE* i = new TXVT_IMAGE; + i->Image().Create(r.GetWidth(), r.GetHeight()); + + CAST_DC(win, wdc); + wxMemoryDC mdc; + mdc.SelectObject(i->Bitmap()); + + mdc.Blit(wxPoint(0,0), r.GetSize(), &wdc, r.GetPosition()); + i->Image() = i->Bitmap().ConvertToImage(); + + return (XVT_IMAGE)i; +} + + XVT_IMAGE xvt_image_create(XVT_IMAGE_FORMAT format, short width, short height, long reserved) { TXVT_IMAGE* i = new TXVT_IMAGE; @@ -2977,11 +3002,7 @@ void xvt_image_transfer(XVT_IMAGE dstimage, XVT_IMAGE srcimage, RCT *dstrctp, RC wxMemoryDC dc; dc.SelectObject( ((TXVT_IMAGE*)dstimage)->Bitmap() ); DrawImageOnDC(dc, (TXVT_IMAGE*)srcimage, rctDst, rctSrc); -// #ifdef WIN32 -// dst = dc.GetSelectedBitmap(); -// #else dst = ((TXVT_IMAGE*)dstimage)->Bitmap(); -// #endif dc.SelectObject(wxNullBitmap); } @@ -3726,20 +3747,17 @@ void xvt_sys_beep(int severity) BOOLEAN xvt_sys_get_host_name(char* name, int maxlen) { wxString str = wxGetHostName(); - const int len = str.Length(); strncpy(name, str, maxlen); name[maxlen-1] = '\0'; - return len > 0; + return *name > '\0'; } BOOLEAN xvt_sys_get_user_name(char* name, int maxlen) { wxString str = wxGetUserId(); -// str.MakeUpper(); - const int len = str.Length(); strncpy(name, str, maxlen); name[maxlen-1] = '\0'; - return len > 0; + return *name > '\0'; } /////////////////////////////////////////////////////////// diff --git a/xvaga/xvt.h b/xvaga/xvt.h index 498072bc6..e224ec236 100755 --- a/xvaga/xvt.h +++ b/xvaga/xvt.h @@ -172,6 +172,7 @@ XVTDLL void xvt_help_close_helpfile(XVT_HELP_INFO hi); XVTDLL XVT_HELP_INFO xvt_help_open_helpfile(FILE_SPEC *fs, unsigned long flags); XVTDLL BOOLEAN xvt_help_process_event(XVT_HELP_INFO hi, WINDOW win, EVENT *ev); +XVTDLL XVT_IMAGE xvt_image_capture(WINDOW win, const RCT* rct); XVTDLL XVT_IMAGE xvt_image_create(XVT_IMAGE_FORMAT format, short width, short height, long reserved); XVTDLL void xvt_image_destroy(XVT_IMAGE image); XVTDLL COLOR xvt_image_get_clut(XVT_IMAGE image, short index);