Patch level : 2.1 54

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

0000177
Spostandosi con i tasti freccia in un campo si sposta il cursore
ma non viene cancellato dalla posizione precedente


git-svn-id: svn://10.65.10.50/trunk@12119 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2004-05-26 13:16:26 +00:00
parent 9752ae07ed
commit c030375ba0

View File

@ -209,7 +209,7 @@ protected:
virtual void Notify() { Toggle(); } virtual void Notify() { Toggle(); }
public: public:
void SetPos(int x, int y) { _pos.h = x; _pos.v = y; } void SetPos(int x, int y);
void SetSize(int x, int y) { _size.x = x; _size.y = y; } void SetSize(int x, int y) { _size.x = x; _size.y = y; }
void Show(WINDOW w, bool on = true); void Show(WINDOW w, bool on = true);
void Hide() { Show(false); } void Hide() { Show(false); }
@ -226,6 +226,13 @@ void TwxCaret::Kill()
_owner = NULL_WIN; _owner = NULL_WIN;
} }
void TwxCaret::SetPos(int x, int y)
{
if (_visible && _drawn) // Lo cancella se necessario
Toggle();
_pos.h = x; _pos.v = y;
}
void TwxCaret::Show(WINDOW w, bool on) void TwxCaret::Show(WINDOW w, bool on)
{ {
if (_visible && _drawn) if (_visible && _drawn)
@ -259,9 +266,10 @@ void TwxCaret::Toggle()
pen.width = _size.x; pen.width = _size.x;
pen.pat = PAT_SOLID; pen.pat = PAT_SOLID;
pen.style = P_SOLID; pen.style = P_SOLID;
pen.color = _drawn ? dct.fore_color : dct.back_color; pen.color = dct.fore_color;
xvt_dwin_set_cpen(_owner, &pen); xvt_dwin_set_draw_mode(_owner, M_NOT_XOR);
xvt_dwin_set_draw_mode(_owner, M_COPY);
xvt_dwin_set_cpen(_owner, &pen);
xvt_dwin_draw_set_pos(_owner, _pos); xvt_dwin_draw_set_pos(_owner, _pos);
PNT p = _pos; p.v -= _size.y-1; PNT p = _pos; p.v -= _size.y-1;