[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [amibroker] GraphZOrder of Gfx drawings?



PureBytes Links

Trading Reference Links

Though I am not happy to write spaghetti code, I spent yesterday  
rewriting my chart button processing so that everything behaves  
properly from the user point of view.

I had to first  "claim the mouse" for a button array area in the top  
to bottom Z order of these draggable buttons, then process and draw  
the button/information arrays in the opposite (bottom to top) Z  
order.  Not happy to code this way, but moving on to the next problems.

If and when we get drawing in layers I will gladly rewrite this area.

BR,
Dennis

On May 31, 2008, at 5:58 AM, Tomasz Janeczko (groups) wrote:

> That's correct. Both are buffered in separate queues
> with the distinction that AFL regular plots are buffered
> in AmiBroker-own way therefore I have control
> to play it in any order I wish, while low-level graphics use
> Windows Standard metafile that is played back in order
> of "recording" (FIFO)
>
> Best regards,
> Tomasz Janeczko
> amibroker.com
> ----- Original Message -----
> From: "Dennis Brown" <see3d@xxxxxxxxxxx>
> To: <amibroker@xxxxxxxxxxxxxxx>
> Sent: Friday, May 30, 2008 5:14 PM
> Subject: Re: [amibroker] GraphZOrder of Gfx drawings?
>
>
>> So plot commands must also be buffered --since you can choose to have
>> the Gfx plot first or after all the AFL plot commands.  And since the
>> AFL plot commands can plot in forward or reverse order, that plot
>> buffer can be thought of as being a FIFO or LIFO buffer.  With Gfx we
>> seem to only have the FIFO option.  Whereas for movable drawn  
>> buttons,
>> the LIFO option is preferred to make the code processing flow
>> naturally --so that top visible buttons process the mouse clicks  
>> first.
>>
>> BR,
>> Dennis
>>
>> On May 30, 2008, at 10:54 AM, J. Biran wrote:
>>
>>> TJ replied to my question: How can I get some Gfx plots
>>> under and others on top of graphics?
>>> You can't. You can only overlay everything in front or in
>>> back.
>>> ...
>>> Gfx functions are executed completely independent of regular
>>> drawing. All Gfx commands are queued for later execution in
>>> something that is called Metafile that is later played back
>>> on output device regardless of what is happening with
>>> regular Plot() commands.
>>> Joseph Biran
>>> ____________________________________________
>>> -----Original Message-----
>>> From: amibroker@xxxxxxxxxxxxxxx
>>> [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Dennis Brown
>>> Sent: Friday, May 30, 2008 7:42 AM
>>> To: amibroker@xxxxxxxxxxxxxxx
>>> Subject: [amibroker] GraphZOrder of Gfx drawings?
>>>
>>> Hello,
>>>
>>> I just realized that the default plot Z order is opposite
>>> that of the
>>> Gfx drawing functions.
>>>
>>> This really messes up my draggable drawn button arrays I
>>> just finished
>>> coding after several days.
>>>
>>> Of course I want the first button drawn to be on top so that
>>> I can
>>> have modular button code to receive mouse clicks from the
>>> top drawn
>>> buttons and not pass the mouse clicks to a hidden overlapped
>>> button
>>> underneath.  This is important, especially when the button
>>> is the
>>> handle to drag the whole array around the chart and it
>>> becomes hidden
>>> by a now nonfunctional button on top.
>>>
>>> Is there a way to make the Gfx functions follow the
>>> GraphZOrder rules
>>> of the other plot functions?
>>>
>>> Otherwise the only way I know is to split all the button
>>> click
>>> processing and drawing apart and mirror image them across
>>> the
>>> Formula.  This is a pain and turns my nice modular code into
>>>
>>> duplicated spaghetti code.
>>>
>>> The lack of Z control on plots (or specified plot layers)
>>> has already
>>> cost me many dozens of hours of extra AFL code and
>>> architecting around
>>> this issue during the last year.  This has been on the
>>> requested list
>>> in one form or another by different users for just about
>>> forever.  I
>>> hope it makes its way into a release in the not to distant
>>> future.
>>>
>>> Best regards,
>>> Dennis
>>>
>>>
>>> ------------------------------------
>>>
>>> Please note that this group is for discussion between users only.
>>>
>>> To get support from AmiBroker please send an e-mail directly to
>>> SUPPORT {at} amibroker.com
>>>
>>> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
>>> http://www.amibroker.com/devlog/
>>>
>>> For other support material please check also:
>>> http://www.amibroker.com/support.html
>>> Yahoo! Groups Links
>>>
>>>
>>>
>>
>>
>> ------------------------------------
>>
>> Please note that this group is for discussion between users only.
>>
>> To get support from AmiBroker please send an e-mail directly to
>> SUPPORT {at} amibroker.com
>>
>> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
>> http://www.amibroker.com/devlog/
>>
>> For other support material please check also:
>> http://www.amibroker.com/support.html
>> Yahoo! Groups Links
>>
>>
>>
>
> ------------------------------------
>
> Please note that this group is for discussion between users only.
>
> To get support from AmiBroker please send an e-mail directly to
> SUPPORT {at} amibroker.com
>
> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
> http://www.amibroker.com/devlog/
>
> For other support material please check also:
> http://www.amibroker.com/support.html
> Yahoo! Groups Links
>
>
>


------------------------------------

Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/