-
Notifications
You must be signed in to change notification settings - Fork 237
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow for embedded effects within Frames #23
Comments
Possibly don't event need a new widget. The Frame's Canvas is correct and Frames with no input widgets are supported, so could just maintain a set of effects to render onto the Canvas before the Frame draws its content... |
The logic for Frames (which clear on screen refresh) is not immediately compatible with general Effects (which often rely on the Screen maintaining state between refreshes). For a consistent API, I either need to replicate the way the Screen maintains state, or move wholesale to full double buffering, so that every Effect redraws on a refresh. |
In other words, I might need to do #24 before this... |
There is currently an experimental feature for doing this in V1.7. However this API will need to change when this issue is resolved. |
Hey there @peterbrittain, did this land? I see you're already on a v1.9. Will be looking into how to do this today. EDIT: Actually, what I am looking for, is putting a sprite in a layout. |
There's the ability to embed effects inside a Frame, but not Layouts. To take it further, the Frame drawing logic and Effects really need to be aligned. Right now, one forces widgets to do a full redraw, but the other leaves it up to the update logic how to remove old content. I plan to reconcile In version 2.0 when full double buffering and redrawing will be enforced everywhere. |
The Canvas API is identical to the Screen API, so that any Effect can be embedded in a Frame. All that is needed is some adapter layer - e.g. a new widget type to allow any Effect to bre reproduced (and limited to) the Frame.
The text was updated successfully, but these errors were encountered: