1Revision history for Graphics-Primitive
2
30.67    2015-01-21
4  - Allow default font to be overridden with $GRAPHICS_PRIMITIVE_DEFAULT_FONT
5    and default MSWin32 to 'Arial' (TobyLL)
6
70.66    2014-01-04
8  - Add a missing requires on Data::Visitor::Callback (tests failed without it)
9  - Convert "Changes" to the CPAN::Changes spec.
10
110.65    2014-03-31
12  - Make a TextLayout's component a weak_ref to prevent circular references.
13
140.64    2014-02-17
15  - POD encoding fixes (thanks Gregor Herrmann)
16
170.63    2014-02-17
18  - Doc speclling fixes (thanks Gregor Herrmann!)
19
200.61    2011-06-02
21  - Fix broken merge (thanks Ansgar Burchardt)
22
230.60    2011-05-05
24  - If minimum_width or minimum_height is set, don't allow height or width to
25    be set to anything smaller!
26
270.53    2011-02-18
28  - Add callback to Component
29
300.52    2010-08-21
31  - POD updates
32
330.51    2010-03-22
34  - Convert all remaining uses of AttributeHelpers with native traits
35    (Florian Ragwitz).
36
370.50    2010-03-09
38  - Convert Path to use Moose's native traits rather than AttributeHelpers
39
400.49    2010-01-10
41  - Remove typing for Path's primitives accessor
42
430.48    2009-12-24
44  - Add _draw_arc to Driver's require
45
460.47    2009-12-24
47  - Use BUILD and triggers to handle Border's color & width in constructor
48    and via setting width/color.
49
500.46    2009-11-10
51  - Add JSON::Any dependency (Thanks NPW via RT)
52
530.45    2009-10-02
54  - Add antialias_mode, hint_style, hint_metrics and subpixel_order attributes
55    to Font.
56
570.44    Unknown
58  - Fix typo in Canvas' hints attribute
59
600.43    Unknown
61  - README update
62
630.42    Unknown
64  - Reverting 0.41 (ha!)
65  - Add width to insets, sets all insets in one call
66
670.41    Unknown
68  - Don't re-layout already laid out textboxes (might get reverted)
69
700.40    Unknown
71  - Fix some deprecated Moose stuff
72
730.39    Unknown
74  - POD fixes
75  - Don't short-circuit TextBox prepare if there are lines or a layout.
76  - If there's no layout, don't try and create one.  This breaks things.
77
780.38    Unknown
79  - Fix error in Component->outside_width
80
810.37    Unknown
82  - More POD fixes
83
840.36    Unknown
85  - POD fixes
86
870.35    Unknown
88  - Gradient: Break out into separate Line and Radial classes
89
900.34    Unknown
91  - Move pod tests to t/author
92
930.33    Unknown
94  - Driver: Don't mark things prepared, that's Layout::Manager's job
95  - TextBox: simplify logic and return from prepare immediately after super if
96    there is no text
97  - TextBox: make some 'enumed' attributes plain Strings, since different
98    drivers will have different values
99  - Remove Text::Flow requirement
100
1010.32    Unknown
102  - Fix POD typo (thanks Brian Cassidy)
103  - TextBox: Don't resize during prepare unless it's new minimums are bigger
104  - Fix TextLayout's POD (thanks Brian Cassidy)
105  - Driver: add _draw_bezier to requires (thanks Budrica Petre Cosmin)
106
1070.31    Unknown
108  - Fix POD typo (thanks Brian Cassidy)
109  - Driver: Add _draw_circle and _draw_ellipse
110  - Bump Deps
111  - Revamp text handling, see Driver::TextLayout
112
1130.30    Unknown
114  - Bump Forest dependency to 0.4 to ease Win32 problems
115
1160.29    Unknown
117  - MooseX::Storage support
118  - Rename pack to finalize
119
1200.28    Unknown
121  - Require _draw_polygon method for Driver role
122
1230.27    Unknown
124  - Fill: Make paint a required attribute
125  - Operations: Make Fill and Stroke clone properly
126
1270.26    Unknown
128  - Add Image component (experimental)
129  - POD fixes
130  - Component: make parent a weakref
131
1320.25    Unknown
133  - TextBox: Normalize multi-line rendering on line height
134
1350.24    Unknown
136  - TextBox: Fix broken multi-line rendering
137
1380.23    Unknown
139  - Component: Add parent attribute
140  - Container: Set and unset parent attribute on add/remove/clear
141  - Add Aligned role
142  - Textbox: Use Aligned role
143  - POD updates
144
1450.22    Unknown
146  - Properly append component lists in find.
147
1480.21    Unknown
149  - Remove duplicate code in Driver's prepare method
150
1510.20    Unknown
152  - Fix accidentally marking containers as prepared when they are not
153
1540.19    Unknown
155  - Component: Add class attribute
156  - ComponentList: Add each and find
157
1580.18    Unknown
159  - Add ComponentList and use it to keep container components.
160  - Container: find_component now returns the component's index, not the
161    component.
162
1630.17    Unknown
164  - Useless whitespace changes
165  - POD typos fixed
166  - Border: switch from a single width to per-side Brushes
167  - Brush: add derive, equal_to and not_equal_to
168  - Border: now cloneable
169  - Border: add homogeneous, equal_to and not_equal_to
170  - Insets: ad as_array
171
1720.16    Unknown
173  - Opps, I forgot. :(
174
1750.15    Unknown
176  - Add prepared flag to components.  Attributes that affect rendering have
177    been modified to set prepared to 0 via a trigger.  Any new attributes
178    added henceforth should do the same.
179  - Containers (being Components) also have a prepared flag, but it is set
180    to true by the layout manager, not by the container itself.  Also, a
181    container is not prepared unless all of it's child components are
182    prepared.  See Layout::Manager for more details.
183  - TextBox: Fix bug when prepared & packed with text attribute set
184  - POD
185
186
1870.14    Unknown
188  - TextBox: handle text layout with Text::Flow
189  - Component: coercion of Insets from ArrayRef and Num
190  - Add pop_component to Container for removing the last component.
191  - POD updates
192  - Component: explicitly return from outside_width and outside_height
193  - Component: if minimum width or height are set already, don't change them
194    in prepare
195  - Font: add derive
196
1970.13    Unknown
198  - Reorganize prepare/pack/draw API to be handled by the Driver
199  - Add _resize and _finish_page to Driver API
200  - Component: Add page attribute
201  - Driver: Don't check class of incoming component before asking if it has
202    components and treating it like a container.
203
2040.12    Unknown
205  - Path: Add curve_to and rel_curve_to
206
2070.11    Unknown
208  - Small optimizations
209  - Driver: add reset
210  - Textbox: Add angle
211  - Use Forest rather than Tree::Simple per stevan's request
212
2130.10    Unknown
214  - Path: add rectangle
215  - New feature & hint: Add "preserve" to Operation.  Setting this causes
216    the canvas to NOT clear the current path on a do().  This operation can
217    then be used as a hint to the driver to not create a new path, but to
218    reuse the old one.
219
2200.09    Unknown
221  - Path: add arc, close_path, get_path
222  - Path: rename get_primitive_at to get_primitive
223  - Path: rename count_primitives to primitive_count
224  - Path: clone points rather than using them, they tend to change
225  - Path: don't inherit or implement anything out of Geo::Primitive, it's
226    not necessary
227  - Path: add hints attr with for driver hinting and add contiguous flag for
228    use with same
229  - Gradient: add line attr for guiding Gradient
230  - Canvas: update path proxy methods
231  - Make everything cloneable, adding Clone trait to 'deep' clone attrs
232
2330.08    Unknown
234  - Path: default starting point to 0,0
235  - Rename Graphics::Primitive::Stroke to Graphics::Primitive::Brush
236  - Brush: Add Color
237  - Add Canvas calls to Driver
238  - Add Operation::Fill and Operation::Stroke
239  - Lots of POD
240  - Add Paint and children
241
2420.07    Unknown
243  - Remove do_prepare
244  - Add disclaimer
245  - Add lines to Textbox and chop up input, this is likely temporary
246  - Add optional layout manager to container
247  - prepare now expects the driver to be passed in
248  - Component's prepare sets minimum sizes to the outside ones
249  - Return default font size from coderef
250  - Use isa to check component classes and put container at the bottom
251    so that the parent container is drawn before it's children.
252  - Add get_tree method to component for visualizing the entire component
253  - Prepare children before parents
254  - Don't return inside_height or width < 0
255  - Default Component::prepare to setting a minimum height/width based on
256    outside values
257  - Add Component::to_string
258  - Let Container's layout_manager handle do_layout
259  - Add 'pack' to the plan...
260  - Path: modify line_to and move_to to accept scalars
261  - Stroke: add dash_pattern
262
2630.06    Unknown
264  - Add Driver
265  - Set default border width to 0
266  - Move component management out of LM and into Container
267  - Move stuff from LM::Component role into Component
268  - Remove LM dependency
269  - Add Textbox
270  - Change Component's inside_bounding_box origin to be a relative value
271
2720.05    Unknown
273  - Don't prepare or draw invisible components in Containers
274
2750.04    Unknown
276  - POD fixes
277  - Add find_component and get_component as proxies in Container
278
2790.03    Unknown
280  - Check for definedness of components in a Container before prepare & draw
281
2820.02    Unknown
283  - Add visible to component
284  - Fix Description
285  - Add MI version because Yuval yelled at me
286
2870.01    Unknown
288        First version, released on an unsuspecting world.
289
290