cgColor and Widget_Draw Frame problem [message #81863] |
Thu, 01 November 2012 07:02 |
Helder Marchetto
Messages: 520 Registered: November 2011
|
Senior Member |
|
|
Hi,
I've been using cgColor quite successfully for quite a while with this, but I started to get a strange problem.
If I create a draw widget with a frame then cgColor throws an error.
This is the code that generates the error:
PRO TestcgColor
wBase = widget_base()
wDrawColor = WIDGET_DRAW(wBase, XSIZE=100, YSIZE=100, FRAME=1)
WIDGET_CONTROL, wBase, /REALIZE
print, !D.x_size, !D.y_size
print, cgcolor('white')
END
And the error reads: "CGSNAPSHOT--> TVRD: Value of Area is out of allowed range."
The reason is that the draw region that I generated is 100x100 pixel and the size of the window is given as 102x102 (1 pixel per side).
Is there a way to overcome this problem?
I think one can read the frame size from (widget_info(..., /geometry)).margin and then subtract this from !D.x_size and !D.y_size (actually 2*margin) when calculating the opposite pixel in cgColor().
Does this make any sense or am I on the false track?
Cheers,
Helder
|
|
|