Patch level : 10.0
Files correlati : xvaga.dll Ricompilazione Demo : [ ] Commento : Rese simmetriche chiamate di conversione rettangoli git-svn-id: svn://10.65.10.50/trunk@19941 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
897b6eeff6
commit
ff8bbf8905
@ -782,7 +782,7 @@ void xvt_dwin_draw_arc(WINDOW win, const RCT* r, int sx, int sy, int ex, int ey)
|
||||
if (win != NULL_WIN && r != NULL)
|
||||
{
|
||||
CAST_DC(win, dc);
|
||||
const wxRect rect = NormalizeRCT(r);
|
||||
const wxRect rect = RCT2Rect(r);
|
||||
const wxPoint c(rect.x+rect.width/2, rect.y+rect.height/2);
|
||||
if (abs(rect.width - rect.height) < 2)
|
||||
dc.DrawArc(sx, sy, ex, ey, c.x, c.y);
|
||||
@ -801,7 +801,7 @@ void xvt_dwin_draw_gradient_circular(WINDOW win, const RCT* r, COLOR col1, COLOR
|
||||
if (win != NULL_WIN && r != NULL)
|
||||
{
|
||||
CAST_DC(win, dc);
|
||||
const wxRect rect = NormalizeRCT(r);
|
||||
const wxRect rect = RCT2Rect(r);
|
||||
CAST_COLOR(col1, color1);
|
||||
CAST_COLOR(col2, color2);
|
||||
|
||||
@ -817,7 +817,7 @@ void xvt_dwin_draw_gradient_linear(WINDOW win, const RCT* r, COLOR col1, COLOR c
|
||||
if (win != NULL_WIN && r != NULL)
|
||||
{
|
||||
CAST_DC(win, dc);
|
||||
const wxRect rect = NormalizeRCT(r);
|
||||
const wxRect rect = RCT2Rect(r);
|
||||
CAST_COLOR(col1, color1);
|
||||
CAST_COLOR(col2, color2);
|
||||
|
||||
@ -919,8 +919,8 @@ void xvt_dwin_draw_image(WINDOW win, XVT_IMAGE img, const RCT* dest, const RCT*
|
||||
if (image != NULL)
|
||||
{
|
||||
CAST_DC(win, dc);
|
||||
const wxRect src = NormalizeRCT(source);
|
||||
const wxRect dst = NormalizeRCT(dest);
|
||||
const wxRect src = RCT2Rect(source);
|
||||
const wxRect dst = RCT2Rect(dest);
|
||||
DrawImageOnDC(dc, image, dst, src);
|
||||
}
|
||||
}
|
||||
@ -928,7 +928,7 @@ void xvt_dwin_draw_image(WINDOW win, XVT_IMAGE img, const RCT* dest, const RCT*
|
||||
void xvt_dwin_draw_oval(WINDOW win, const RCT* rctp)
|
||||
{
|
||||
CAST_DC(win, dc);
|
||||
const wxRect rct = NormalizeRCT(rctp);
|
||||
const wxRect rct = RCT2Rect(rctp);
|
||||
dc.DrawEllipse(rct);
|
||||
}
|
||||
|
||||
@ -964,14 +964,14 @@ void xvt_dwin_draw_polyline(WINDOW win, const PNT *lpnts, int npnts)
|
||||
void xvt_dwin_draw_rect(WINDOW win, RCT *rctp)
|
||||
{
|
||||
CAST_DC(win, dc);
|
||||
const wxRect rct = NormalizeRCT(rctp);
|
||||
const wxRect rct = RCT2Rect(rctp);
|
||||
dc.DrawRectangle(rct);
|
||||
}
|
||||
|
||||
void xvt_dwin_draw_roundrect(WINDOW win, const RCT *rctp, int oval_width, int oval_height)
|
||||
{
|
||||
CAST_DC(win, dc);
|
||||
const wxRect rct = NormalizeRCT(rctp);
|
||||
const wxRect rct = RCT2Rect(rctp);
|
||||
dc.DrawRoundedRectangle(rct, min(oval_width, oval_height));
|
||||
}
|
||||
|
||||
@ -1040,7 +1040,7 @@ void xvt_dwin_draw_text(WINDOW win, int x, int y, const char *s, int len)
|
||||
wxBrush* brush = wxTheBrushList->FindOrCreateBrush(brush_color, wxSOLID);
|
||||
const wxBrush & old_brush = dc.GetBrush();
|
||||
const wxPen & old_pen = dc.GetPen();
|
||||
const wxRect rct = NormalizeRCT(&back);
|
||||
const wxRect rct = RCT2Rect(&back);
|
||||
|
||||
dc.SetBrush(*brush);
|
||||
dc.SetPen(*wxTRANSPARENT_PEN);
|
||||
@ -1126,7 +1126,7 @@ void xvt_dwin_invalidate_rect(WINDOW win, const RCT* rctp)
|
||||
CAST_WIN(win, w);
|
||||
if (rctp != NULL)
|
||||
{
|
||||
const wxRect rct = NormalizeRCT(rctp);
|
||||
const wxRect rct = RCT2Rect(rctp);
|
||||
w.Refresh(false, &rct);
|
||||
}
|
||||
else
|
||||
@ -1141,7 +1141,7 @@ BOOLEAN xvt_dwin_is_update_needed(WINDOW win, const RCT* rctp)
|
||||
if (win == PRINTER_WIN || win == SCREEN_WIN)
|
||||
return TRUE;
|
||||
CAST_WIN(win, w); // child windows and TASK_WIN
|
||||
const wxRect rect1 = NormalizeRCT(rctp);
|
||||
const wxRect rect1 = RCT2Rect(rctp);
|
||||
const wxRect rect2 = w.GetUpdateClientRect();
|
||||
return rect1.Intersects(rect2);
|
||||
}
|
||||
@ -1155,7 +1155,7 @@ void xvt_dwin_scroll_rect(WINDOW win, RCT *rctp, int dh, int dv)
|
||||
CAST_WIN(win, w);
|
||||
if (rctp != NULL)
|
||||
{
|
||||
const wxRect rct = NormalizeRCT(rctp);
|
||||
const wxRect rct = RCT2Rect(rctp);
|
||||
if (!rct.IsEmpty())
|
||||
// w.ScrollWindow(dh, dv, &rct); // Metodo ortodosso ma impreciso di un pixel
|
||||
w.Refresh(false, &rct); // Pezza "TEMPORANEA" per evitare artefatti
|
||||
@ -1855,10 +1855,10 @@ XVT_IMAGE xvt_image_capture(WINDOW win, const RCT* src)
|
||||
if (src == NULL)
|
||||
{
|
||||
RCT rct; xvt_vobj_get_client_rect(win, &rct);
|
||||
r = NormalizeRCT(&rct);
|
||||
r = RCT2Rect(&rct);
|
||||
}
|
||||
else
|
||||
r = NormalizeRCT(src);
|
||||
r = RCT2Rect(src);
|
||||
|
||||
wxBitmap bmp(r.GetWidth(), r.GetHeight());
|
||||
CAST_DC(win, wdc);
|
||||
@ -2100,8 +2100,8 @@ void xvt_image_transfer(XVT_IMAGE dstimage, XVT_IMAGE srcimage, RCT *dstrctp, RC
|
||||
CAST_TIMAGE(srcimage, src);
|
||||
if (dst != NULL && src != NULL)
|
||||
{
|
||||
const wxRect rctDst = NormalizeRCT(dstrctp);
|
||||
const wxRect rctSrc = NormalizeRCT(srcrctp);
|
||||
const wxRect rctDst = RCT2Rect(dstrctp);
|
||||
const wxRect rctSrc = RCT2Rect(srcrctp);
|
||||
wxMemoryDC dc;
|
||||
wxBitmap bmp(*dst);
|
||||
dc.SelectObject(bmp);
|
||||
@ -2378,14 +2378,14 @@ int xvt_rect_get_width(const RCT *rctp)
|
||||
|
||||
BOOLEAN xvt_rect_has_point(const RCT *rctp, PNT pnt)
|
||||
{
|
||||
const wxRect rct = NormalizeRCT(rctp);
|
||||
const wxRect rct = RCT2Rect(rctp);
|
||||
return rct.Contains(pnt.h, pnt.v);
|
||||
}
|
||||
|
||||
BOOLEAN xvt_rect_intersect(RCT *drctp, const RCT *rctp1, const RCT *rctp2)
|
||||
{
|
||||
const wxRect rect1 = NormalizeRCT(rctp1);
|
||||
const wxRect rect2 = NormalizeRCT(rctp2);
|
||||
const wxRect rect1 = RCT2Rect(rctp1);
|
||||
const wxRect rect2 = RCT2Rect(rctp2);
|
||||
const BOOLEAN yes = rect1.Intersects(rect2);
|
||||
if (drctp)
|
||||
{
|
||||
@ -2398,7 +2398,7 @@ BOOLEAN xvt_rect_intersect(RCT *drctp, const RCT *rctp1, const RCT *rctp2)
|
||||
drctp->bottom = min(rect1.GetBottom(), rect2.GetBottom())+1;
|
||||
*/
|
||||
const wxRect rect0 = rect1.Intersect(rect2);
|
||||
NormalizeRect(rect0, drctp);
|
||||
Rect2RCT(rect0, drctp);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -3819,7 +3819,7 @@ RCT* xvt_vobj_get_outer_rect(WINDOW win, RCT *rctp)
|
||||
{
|
||||
CAST_WIN(win, w);
|
||||
const wxRect rct = w.GetRect();
|
||||
NormalizeRect(rct, rctp);
|
||||
Rect2RCT(rct, rctp);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -3910,7 +3910,7 @@ void xvt_vobj_minimize(WINDOW win)
|
||||
void xvt_vobj_move(WINDOW win, const RCT* rctp)
|
||||
{
|
||||
CAST_WIN(win, w);
|
||||
const wxRect rct = NormalizeRCT(rctp);
|
||||
const wxRect rct = RCT2Rect(rctp);
|
||||
w.Move(rct.x, rct.y);
|
||||
w.SetClientSize(rct.width, rct.height);
|
||||
}
|
||||
@ -4012,7 +4012,7 @@ void xvt_vobj_translate_points(WINDOW from_win, WINDOW to_win, PNT *pntp, int np
|
||||
|
||||
WINDOW xvt_win_create(WIN_TYPE wtype, const RCT* rct_p, const char* title, int menu_rid, WINDOW parent, long win_flags, EVENT_MASK mask, EVENT_HANDLER eh, long app_data)
|
||||
{
|
||||
const wxRect rct = NormalizeRCT(rct_p);
|
||||
const wxRect rct = RCT2Rect(rct_p);
|
||||
const wxString caption = title;
|
||||
|
||||
long style = wxCLIP_SIBLINGS | wxCLIP_CHILDREN | wxWANTS_CHARS;
|
||||
|
@ -204,7 +204,7 @@ public:
|
||||
WINDOW xvt_ctl_create_def(WIN_DEF* win_def_p, WINDOW parent_win, long app_data)
|
||||
{
|
||||
wxASSERT(win_def_p != NULL);
|
||||
const wxRect rct = NormalizeRCT(&win_def_p->rct);
|
||||
const wxRect rct = RCT2Rect(&win_def_p->rct);
|
||||
wxWindow* pParent = wxStaticCast((wxObject*)parent_win, wxWindow);
|
||||
const wxWindowID id = win_def_p->v.ctl.ctrl_id;
|
||||
|
||||
|
@ -470,7 +470,7 @@ BOOLEAN xvt_dm_post_page_setup(PRINT_RCD* precp)
|
||||
void xvt_dwin_draw_image_on_pdf(WINDOW win, const char* name, RCT* dest)
|
||||
{
|
||||
wxASSERT(win == PRINTER_WIN);
|
||||
const wxRect dst = NormalizeRCT(dest);
|
||||
const wxRect dst = RCT2Rect(dest);
|
||||
TwxPDFDC& dc = *wxStaticCast(&GetTDCMapper().GetDC(win), TwxPDFDC);
|
||||
dc.DrawImage(name, dst);
|
||||
}
|
||||
|
@ -20,7 +20,7 @@ wxHashTable _nice_windows;
|
||||
wxFrame* _task_win = NULL;
|
||||
EVENT_HANDLER _task_win_handler = NULL;
|
||||
|
||||
wxRect NormalizeRCT(const RCT* prct)
|
||||
wxRect RCT2Rect(const RCT* prct)
|
||||
{
|
||||
wxRect rct;
|
||||
if (prct != NULL)
|
||||
@ -33,13 +33,8 @@ wxRect NormalizeRCT(const RCT* prct)
|
||||
return rct;
|
||||
}
|
||||
|
||||
bool NormalizeRect(const wxRect& r, RCT* rct)
|
||||
{
|
||||
const bool ok = rct != NULL;
|
||||
if (ok)
|
||||
xvt_rect_set(rct, r.x, r.y, r.GetRight()+1, r.GetBottom()+1);
|
||||
return ok;
|
||||
}
|
||||
void Rect2RCT(const wxRect& r, RCT* rct)
|
||||
{ xvt_rect_set(rct, r.x, r.y, r.GetRight()+1, r.GetBottom()+1); }
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Caret emulation
|
||||
@ -350,7 +345,7 @@ wxDC& TDC::GetDC(bool bPaint)
|
||||
{
|
||||
_dc->DestroyClippingRegion();
|
||||
if (_clip.bottom < 4096)
|
||||
_dc->SetClippingRegion(NormalizeRCT(&_clip));
|
||||
_dc->SetClippingRegion(RCT2Rect(&_clip));
|
||||
_real_clip = _clip;
|
||||
}
|
||||
|
||||
@ -374,8 +369,8 @@ void TDC::SetClippingBox(const RCT* pRct)
|
||||
{
|
||||
if (pRct != NULL)
|
||||
{
|
||||
const wxRect rct = NormalizeRCT(pRct);
|
||||
NormalizeRect(rct, &_clip);
|
||||
const wxRect rct = RCT2Rect(pRct);
|
||||
Rect2RCT(rct, &_clip);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -752,7 +747,7 @@ void TwxWindow::OnPaint(wxPaintEvent& WXUNUSED(evt))
|
||||
const wxRect rctDamaged = GetUpdateRegion().GetBox();
|
||||
|
||||
XVT_EVENT e(E_UPDATE);
|
||||
NormalizeRect(rctDamaged, &e.v.update.rct);
|
||||
Rect2RCT(rctDamaged, &e.v.update.rct);
|
||||
|
||||
TDC& tdc = GetTDCMapper().GetTDC((WINDOW)this);
|
||||
tdc.GetDC(true); // Forza la creazione di un wxPaintDC
|
||||
@ -1025,7 +1020,7 @@ void TTaskWin::OnPaint(wxPaintEvent& WXUNUSED(evt))
|
||||
const wxRect rctDamaged = GetUpdateRegion().GetBox();
|
||||
|
||||
XVT_EVENT e(E_UPDATE);
|
||||
NormalizeRect(rctDamaged, &e.v.update.rct);
|
||||
Rect2RCT(rctDamaged, &e.v.update.rct);
|
||||
|
||||
TDC& dc = GetTDCMapper().GetTDC((WINDOW)this);
|
||||
dc.GetDC(true); // Forza la creazione di un wxPaintDC
|
||||
|
@ -239,8 +239,8 @@ const wxString& _GetAppTitle();
|
||||
|
||||
#define CAST_COLOR(xc, wc) wxColour wc((xc>>16)&0xFF, (xc>>8)&0xFF, xc&0xFF)
|
||||
#define MAKE_XVT_COLOR(wc) XVT_MAKE_COLOR(wc.Red(), wc.Green(), wc.Blue())
|
||||
wxRect NormalizeRCT(const RCT* prct);
|
||||
bool NormalizeRect(const wxRect& rect, RCT* rct);
|
||||
wxRect RCT2Rect(const RCT* prct);
|
||||
void Rect2RCT(const wxRect& rect, RCT* rct);
|
||||
|
||||
#ifdef XVTWIN_CPP
|
||||
#define extern
|
||||
|
Loading…
x
Reference in New Issue
Block a user