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" <[EMAIL PROTECTED]> > To: <[email protected]> > 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: [email protected] >>> [mailto:[EMAIL PROTECTED] On Behalf Of Dennis Brown >>> Sent: Friday, May 30, 2008 7:42 AM >>> To: [email protected] >>> 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 > > >
