[Tickit-dev] Released: Tickit 0.43
Paul "LeoNerd" Evans
leonerd at leonerd.org.uk
Wed Apr 2 12:52:39 BST 2014
New things in latest Tickit since 0.40 (the last email):
* Allow cursor to be hidden on a Window (0.41)
$win->cursor_visible( 0 ) to make it hidden, without forgetting
where it is or what shape it should be when it returns.
* Return text width from RenderBuffer text methods (0.41)
$rb->text and $rb->text_at now return the text width, similar to
what $win->print did, simplifying some kinds of rendering code.
* Extend the RenderBuffer concept down to the Window layer (0.42)
$win->set_on_expose now takes a name/value pair of arguments,
indicating the invocation style. CPAN Widget classes should take
care of this themselves, but any direct access on the Window you
make in your code should use the new form:
$win->set_on_expose( with_rb => sub { ... } );
* More use of RenderBuffer during Window expose (0.43)
Even when not using the 'with_rb' form of Window expose handler,
window drawing operations will be performed via the RB anyway. This
is done by redirecting the goto, print, erase, etc.. methods onto a
temporary RenderBuffer created by the expose event.
* Removed CLEAR_BEFORE_RENDER (0.42)
The long-deprecated CLEAR_BEFORE_RENDER widget behaviour has now
been removed entirely.
* CHILD_WINDOWS_LATER is now default-on (0.43)
Operations that involve adding, removing, or reördering child
windows now take place "later"; that is, asynchronously after the
actual method is called, but before any expose events happen. This
ensures that window layering changes made as a result of handling
input events do not cause a cyclic double-handling of the event, or
other kinds of bugs.
And now for a new section for these emails; a warning of deprecations
and removals. These are things scheduled for producing deprecation
warnings, or outright removal, in 0.44 or later:
* Deprecation: Non-with_rb expose callbacks
* Deprecation: Non-with_ev key/mouse callbacks
* Deprecation: Direct use of the "first position" field in
event-structured key/mouse callbacks as the ->type method
* Deprecation: switching off CHILD_WINDOWS_LATER
Finally, a new section detailing comments about wider direction, and
other CPAN modules like Widget classes:
* New Widget size model
According to the main Tickit Widget grid [1], most of the container
classes are now updated to the new ->requested_size model. Once the
remaining ones are all updated, I'll start the next phase of this
new model, which will be to define some new properties on Widget
itself, to assist applications and containers define the size of the
widget. This will likely take the form of two pairs of lines/cols
properties, for setting the minimum and maximum size. These will
support using Tickit::Style to set them.
A feature that may be required in some cases would be to allow
classes to override the minimum sizes, because they know they can't
cope with a size smaller than some limit; though hopefully most
widgets should be renderable right down to 1x1, if that's what the
user really wanted.
---
[1]: https://github.com/ingydotnet/tickit-info/blob/master/CurrentTickitWidgets.md
--
Paul "LeoNerd" Evans
leonerd at leonerd.org.uk
http://www.leonerd.org.uk/ | https://metacpan.org/author/PEVANS
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 230 bytes
Desc: not available
URL: <http://mail.leonerd.org.uk/pipermail/tickit-dev/attachments/20140402/d84a7856/attachment.sig>
More information about the Tickit-dev
mailing list