Discussion:
dragging a text icon by its outline
(too old to reply)
Christopher Self
2022-08-03 19:13:36 UTC
Permalink
I'm trying to drag an icon around a window using the icon's outline, but
it keeps boxing my compass.

What's wrong with this, please?:

PROCget_window_state (play_agenda_win%, minx%, miny%, maxx%, maxy%,
scrollx%, scrolly%, behind%)
PROCget_icon_outline (play_agenda_win%, icon%, icminx%, icminy%, icmaxx%,
icmaxy%)
REM draw dragbox for current icon
block!4 = 5
block!8 = icminx% + (scrollx% - minx%)
block!12 = icminy% + (scrolly% - maxy%)
block!16 = icmaxx% + (scrollx% - minx%)
block!20 = icmaxy% + (scrolly% - maxy%)
block!24 = minx%
block!28 = miny%
block!32 = maxx%
block!36 = maxy%
SYS "Wimp_DragBox",,block


I've bodged it so far with:

block!8 = minx% + 8
block!12 = maxy% - (scrolly% - icminy%)
block!16 = maxx% - 8
block!20 = maxy% - (scrolly% - icmaxy%)

But I don't understand why that works.
--
Christopher Self
Christopher Self
2022-08-07 20:37:43 UTC
Permalink
This is now almost working:

block!8 = minx% - (scrollx% - icminx%)
block!12 = maxy% - (scrolly% - icminy%)
block!16 = minx% - (scrollx% - icmaxx%)
block!20 = maxy% - (scrolly% - icmaxy%)

But it doesn't cope with an undersize window, and I still don't understand
it.
--
Christopher Self
Christopher Self
2022-08-14 17:42:04 UTC
Permalink
I've even managed to clip it correctly now:

block!8 = minx% - (scrollx% - icminx%)
IF scrollx% > icminx% THEN block!8 = minx%+4
block!12 = maxy% - (scrolly% - icminy%)
block!16 = minx% - (scrollx% - icmaxx%)
IF maxx% + (scrollx% - minx%) < icmaxx% THEN block!16 = maxx%-4
block!20 = maxy% - (scrolly% - icmaxy%)

But I still don't understand it...
--
Christopher Self
Loading...