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