-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
2346 lines (1648 loc) · 86.4 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2013-11-02 Damon Chaplin <[email protected]>
* demo/*.c: use gtk_box_pack_start() rather than gtk_container_add(),
for boxes, as the demos didn't appear correctly.
2013-11-02 Damon Chaplin <[email protected]>
* src/goocanvasutils.c (goo_canvas_line_dash_set_offset): new function
to set the offset.
2013-11-02 Damon Chaplin <[email protected]>
* src/goocanvas.c (emit_pointer_event): use gdk_event_copy() rather
than a struct copy, to copy the private stuff like device etc. #665637
2013-11-01 Damon Chaplin <[email protected]>
* src/*.c:
* demo/*.c: fixed a lot of warnings, mainly about deprecated stuff.
2013-11-01 Damon Chaplin <[email protected]>
* .gitignore: added gtk-doc.m4
2013-11-01 Damon Chaplin <[email protected]>
* src/goocanvas.c: added doc about disabling mouse-wheel scrolling.
#617900.
2013-11-01 Damon Chaplin <[email protected]>
* src/goocanvas.c (goo_canvas_adjustment_value_changed): disabled
the code that handled "redraw-when-scrolled" and tried to optimise
the drawing of static items. GTK+ 3.0 always redraws everything when
a window is scrolled, so these aren't needed.
We could possibly use GtkPixelCache or similar in future, to try to
optimise scrolling.
2013-10-25 Damon Chaplin <[email protected]>
* src/goocanvas.c (paint_static_items, goo_canvas_draw): another
attempt at fixing the drawing code. Now it uses the transform & clip
from the given cairo_t and the code seems to work OK for both the old
GTK+ and GTK+ 3.10. Bug #700674.
2013-09-27 Damon Chaplin <[email protected]>
* demo/demo-grabs.c (on_widget_draw): draw simple rects for the widgets
as the old code using gtk_paint_box() doesn't seem to work any more.
2013-09-27 Damon Chaplin <[email protected]>
* src/goocanvasutils.c: added introspection flags, so it now seems to
work OK with python at least.
* bindings/python/demo.py (setup_canvas): added line dash to a path.
* demo/demo.c (setup_rectangles): added line dash to one rect.
2013-09-24 Damon Chaplin <[email protected]>
* src/goocanvasitem.c:
* src/goocanvasitemmodel.c: added a few (allow-none) flags. #677013.
2013-09-24 Damon Chaplin <[email protected]>
* src/Makefile.am: added -lm to LIBADD. Bug #671766.
2013-08-20 Damon Chaplin <[email protected]>
* src/*.h: fixed a few documentation issues.
* docs/goocanvas2-docs.sgml: added annotation glossary.
2013-07-18 Damon Chaplin <[email protected]>
* src/goocanvas.c (paint_static_items, goo_canvas_draw): tried to
fix drawing code to work with new GTK+ 3.9 drawing code. I'm not sure
it is 100% there yet, but the demo seems OK. Bug #700674.
2013-03-28 Murray Cumming <[email protected]>
Fix some introspection generation warnings.
Avoid gobject-introspection warnings about missing : in
documentation comments.
Part of bug #696736
2011-10-19 Jasper Lievisse Adriaanse <[email protected]>
* configure.in: Bump pygobject dependency to 2.90.4. Bug #661487.
2011-10-09 Damon Chaplin <[email protected]>
* Released GooCanvas 2.0.1
2011-10-09 Damon Chaplin <[email protected]>
* src/goocanvaspolyline.[hc]: Added GOO_CANVAS_POLYLINE_ prefix to
NUM_ARROW_POINTS to silence gir warnings.
* src/goocanvas.c (goo_canvas_render): added example code for printing.
* src/goocanvasitem.c: added (element-type GooCanvas.CanvasItem)
annotation to get_items_at().
2011-10-07 Damon Chaplin <[email protected]>
* src/goocanvasitem.c (goo_canvas_item_get_transform)
(goo_canvas_item_get_transform_for_child): use (out) annotation for the
transformation matrix. Though it won't work at the moment as there is
currently no introspection support for cairo_matrix_t. (See #651043)
Also don't (skip) the return value.
* src/goocanvasgrid.c (goo_canvas_grid_model_new): removed the (skip)
annotation on the varargs - none of the other new() functions have it.
2011-09-26 Murray Cumming <[email protected]>
GooCanvasImage: Correct the image appearance when using non-pixel units.
* src/goocanvasimage.c: (goo_canvas_image_convert_pixbuf_sizes):
Store the scale factor so we can use it later when drawing the image.
(goo_canvas_image_new): Move the call to
goo_canvas_image_convert_pixbuf_sizes() until after adding the item,
so that it can get the canvas, instead of passing the parent item
instead. We need to pass the actual item so we can store the
scale factor.
(goo_canvas_image_paint): Use the scale factor.
Bug #657592
2011-09-24 Krzesimir Nowak <[email protected]>
Add GdkRGBA properties. #651125.
* src/goocanvasutils.c: Added helper functions for GdkRGBA.
* src/goocanvasprivate: Ditto.
* src/goocanvas.c: Added GdkRGBA version color properties.
* src/goocanvasgrid.c: Ditto.
* src/goocanvasitemsimple.c: Ditto.
(committed by Damon with a few minor changes)
2011-09-07 Murray Cumming <[email protected]>
GooCanvasImage: Correct the size when using units other than pixels.
#657592.
* src/goocanvas.[h|c]: Added goo_canvas_convert_units_to_pixels() and
goo_canvas_convert_units_from_pixels(), which ignore the scale and
ignore the bounds.
Added a static units_to_pixels_ratios() function shared by these new
functions and the existing recalculate_scales() function.
* src/goocanvasimage.c: Added static
goo_canvas_image_convert_pixbuf_sizes() function, used by
goo_canvas_image_new() and goo_canvas_image_set_common_property() to
get the true size of the image in the units that are used.
(committed by Damon with a few minor changes)
2011-09-14 Damon Chaplin <[email protected]>
* src/goocanvasitem.h: added get_requested_area_for_width() method.
get_requested_height() didn't work for aligned text items as the
position of the item moves horizontally due to the allocated width,
and this wasn't being taken into account in the layout code.
* src/goocanvastable.c (goo_canvas_table_update_requested_heights): use
get_requested_area_for_width() if available.
* src/goocanvastext.c (goo_canvas_text_get_requested_area_for_width):
use this instead of get_requested_height() so aligned text should work.
* demo/mv-demo-table.c:
* demo/demo-table.c: added tests for the above.
2011-08-17 Damon Chaplin <[email protected]>
* src/goocanvastext.c (goo_canvas_text_get_requested_height): when
the height property is set make sure the bounds are still calculated.
Fixes redraw problems. (The way layout is done is too confusing.)
#656391
2011-08-11 Murray Cumming <murrayc.com>
GooCanvasTable: Warn if setting child properties on a non-child.
* src/goocanvastable.c (goo_canvas_table_set_child_property):
If the child wasn't added yet then issue a g_warning(). This gives
the programmer a clue.
2011-08-11 Murray Cumming <[email protected]>
Table demo: Correct the box packing of the scrolled windows.
* demo/mv-table-demo.c (main):
* demo/table-demo.c (main): Pack the scrolled windows with expand=true.
I wonder when this broke and why.
2011-02-27 Damon Chaplin <[email protected]>
* Released GooCanvas 2.0.0
2011-02-14 Damon Chaplin <[email protected]>
* src/goocanvas.c (goo_canvas_set_property): use gtk_widget_modify_bg()
instead of gtk_widget_modify_base() to change the background color.
2011-02-14 Damon Chaplin <[email protected]>
* Released GooCanvas 1.90.3
2011-02-11 Damon Chaplin <[email protected]>
* docs/Makefile.am: set DOC_MODULE to goocanvas2 to make it parallel
installable with 1.x. Also renamed several of the files from
goocanvasXXX to goocanvas2XXX.
2011-01-10 Damon Chaplin <[email protected]>
* src/goocanvasutils.h (enum): added docs for GooCanvasAnchorType.
2011-01-10 Damon Chaplin <[email protected]>
* src/goocanvasimage.c: added "alpha" property. Patch from xapantu
plus a few changes.
* demo/mv-demo.c:
* demo/demo.c: added test for the above for the flowers.
2010-11-03 Damon Chaplin <[email protected]>
* Released GooCanvas 1.90.2
2010-11-03 Damon Chaplin <[email protected]>
* src/goocanvas.c: added goo_canvas_get_preferred_width() and
goo_canvas_get_preferred_height() and removed goo_canvas_size_request().
* configure.in: depend on GTK+ 2.91.3 for the above.
2010-10-27 Damon Chaplin <[email protected]>
* src/goocanvas.c: switched the get_property/set_property code and
added "hscroll-policy" and "vscroll-policy".
2010-10-27 Murray Cumming <[email protected]>
Fix the build with GTK+ 2.91.2, using GtkScrollable.
* src/goocanvas.[h|c] (goo_canvas_class_init): Implemeent the GtkScrollable
interface, overriding the hadjustment and vadjustment properties, instead
of implementing the set_scroll_adjustments vfunc, which was removed from
GtkWidget. Likewise remove the set_scroll_adjustments_signal because it
is no longer needed.
(goo_canvas_get_property), (goo_canvas_set_property): Handle the new
properties.
(goo_canvas_set_hadjustment), (goo_canvas_set_vadjustment): Replace
the old goo_canvas_set_adjustments() function with individual functions
because they can be set separately, and to have code that is as similar as
possible to, for instance, GtkTextView.
2010-10-24 Damon Chaplin <[email protected]>
* src/goocanvas.c (redraw_static_items_at_position)
(goo_canvas_adjustment_value_changed): comment out the calls to
gdk_window_process_updates() as they cause flickering when zooming.
I'm not sure if we should use something else instead.
2010-10-24 Damon Chaplin <[email protected]>
* Released GooCanvas 1.90.1
2010-10-24 Damon Chaplin <[email protected]>
* src/goocanvas.c: updated the drawing code to work with GTK+ 3.
It seems to work now, but it still flickers when zooming in & out,
since we can't use our old trick of mapping a temporary window with
no background over it while changing the scale.
2010-10-01 Damon Chaplin <[email protected]>
* demo/*.c
* src/goocanvas.c (goo_canvas_draw): applied patch from Murray to
compile with latest GTK+, with minor changes.
Note that drawing doesn't work properly at present.
2010-09-02 Murray Cumming <[email protected]>
Fix build with latest GTK+, which has no GdkGC.
* src/goocanvas.c (goo_canvas_expose_event): When clearing the background,
use gdk_cairo_set_source_color() and GtkWidget::base instead of
gdk_draw_rectangle() and GtkWidget::base_gc. Thanks to Benjamin Otte for
this code.
2010-07-27 Damon Chaplin <[email protected]>
* src/goocanvas.c (goo_canvas_adjustment_value_changed): fixed call
to redraw_static_items_at_position() - was using hadjustment twice.
2010-07-25 Damon Chaplin <[email protected]>
* src/goocanvas.c (goo_canvas_configure_hadjustment)
(goo_canvas_configure_vadjustment): freeze updates until finished,
and fixed bug setting hadjustment page size.
(goo_canvas_focus_in, goo_canvas_focus_out): removed grab_focus()
calls that replaced "GTK_WIDGET_SET/UNSET_FLAGS (widget, GTK_HAS_FOCUS)"
I don't think the macros should have been there anyway.
* src/goocanvasatk.c (goo_canvas_item_accessible_get_extents): tidied
up a little - get canvas window once and reuse.
2010-07-25 Murray Cumming <[email protected]>
Fix the build with the latest GTK+ 3.0 API.
* demo/demo-focus.c (create_focus_page):
* demo/demo-grabs.c (on_widget_expose), (on_widget_button_press):
* demo/demo-large-items.c (zoom_changed):
* demo/demo.c (zoom_changed), (zoom_x_changed), (zoom_y_changed),
(anchor_toggled):
* demo/mv-demo-focus.c (create_focus_page):
* demo/mv-demo-grabs.c (on_widget_expose),
(on_widget_button_press):
* demo/mv-demo.c (zoom_changed), (anchor_toggled):
* demo/units-demo.c (zoom_changed):
* demo/widgets-demo.c (main):
* src/goocanvas.c (goo_canvas_init), (goo_canvas_realize),
(goo_canvas_map), (goo_canvas_style_set),
(goo_canvas_configure_hadjustment),
(goo_canvas_configure_vadjustment), (reconfigure_canvas),
(goo_canvas_size_allocate), (goo_canvas_adjustment_value_changed),
(goo_canvas_scroll_to), (goo_canvas_scroll_to_item),
(goo_canvas_set_scale_internal), (paint_static_items),
(goo_canvas_expose_event), (goo_canvas_scroll),
(goo_canvas_focus_in), (goo_canvas_focus_out),
(goo_canvas_convert_from_window_pixels),
(goo_canvas_convert_to_static_item_space),
(goo_canvas_get_start_bounds), (goo_canvas_focus):
* src/goocanvasatk.c (goo_canvas_item_accessible_get_item_extents),
(goo_canvas_item_accessible_is_item_in_window),
(goo_canvas_item_accessible_get_extents),
(goo_canvas_accessible_get_n_children),
(goo_canvas_accessible_ref_child): Replace use of direct struct field access
in GtkWidget, GtkWindow, and GtkAdjustment, with use of the new get/set
functions, to fix the build with the latest GTK+ 3.0 API.
2010-06-30 Damon Chaplin <[email protected]>
* docs: added empty internal subset "[]" to the DOCTYPEs to keep
gtk-doc happy.
* src/goocanvas.c (goo_canvas_expose_event): do a cairo_save()/restore()
around painting the main items, so the static items don't get clipped.
* src/goocanvasitemsimple.c (goo_canvas_item_simple_set_property):
handle setting "clip-path" to NULL to reset it.
* src/goocanvastable.c: try to handle RTL direction better.
* src/goocanvasgroup.c (goo_canvas_group_paint): use the scale
argument rather than the canvas scale.
* src/goocanvas.c: added "before-initial-expose" flag which we use
to ignore any redraw requests before the initial expose (since we
know the entire canvas needs redrawing anyway). This speeds up the
creation of lots of items, e.g. scalability-demo.
* demo/Makefile.am (mv_demo_LDADD, demo_LDADD): added -lm to compile.
* demo/mv-scalability-demo.c:
* demo/scalability-demo.c: updated to compare with the new-api code.
2010-06-21 Damon Chaplin <[email protected]>
* Released GooCanvas 1.90.0
2010-06-21 Damon Chaplin <[email protected]>
Got rid of all the GTK_CHECK_VERSION stuff as we depend on 3.0 now.
2010-06-11 Murray Cumming <[email protected]>
Update source code for GTK+ 3.
* demo/Makefile.am: Fix a typo.
* demo/demo-grabs.c (create_fixed):
* demo/mv-demo-grabs.c (create_fixed):
* src/goocanvas.c (goo_canvas_grab_focus), (goo_canvas_focus):
* src/goocanvasatk.c (goo_canvas_item_accessible_grab_focus),
(goo_canvas_item_accessible_ref_state_set):
Replace use of gtk_fixed_set_has_window() with gtk_widget_set_has_window().
Replace use of GTK_WIDGET_CAN_FOCUS() with gtk_widget_get_can_focus().
Replace use of GTK_WIDGET_TOPLEVEL() with gtk_widget_is_toplevel().
This seems to all work fine.
2010-06-11 Murray Cumming <[email protected]>
Use GTK+ 3 instead of GTK+ 2.
* goocanvas.pc.in: Rename to goocanvas-2.0.pc.in:
* configure.in
* Makefile.am
* demo/Makefile.am: Depend on GTK+ 3 instead of GTK+ 2.
Change the library name from libgoocanvas to libgoocanvas-2.0.
Install the headers in <prefix>/include/goocanvas-2.0 instead of
<prefix>/include/goocanvas-1.0.
This is the master branch for goocanvas-2.0, using GTK+ 3
See also the goocanvas-1.0 branch.
2010-05-10 Damon Chaplin <[email protected]>
* src/goocanvastext.c: improve docs for "width" and "height" properties.
#595164.
2010-05-10 Damon Chaplin <[email protected]>
* src/goocanvaspolyline.c: don't use the reconfigure_arrows flag
any more - always reconfigure the arrows during an update. This
avoids a bug where the line width changes but the arrows don't get
reconfigured, since the line width is an inherited property and
reconfigure_arrows wasn't being set when it changed.
2010-05-07 Damon Chaplin <[email protected]>
* src/goocanvasstyle.c (goo_canvas_style_set_stroke_options): handle
a NULL dash setting. #617960.
2010-04-28 Luis Medinas <[email protected]>
* applied small patch to compile with GTK+ 3.0. #615435.
2009-08-20 Murray Cumming <[email protected]>
* docs/architecture.xml: Fixed documenation typo. Bug #591983.
(Martin Olsson)
2009-06-29 Damon Chaplin <[email protected]>
* Released GooCanvas 0.15
2009-06-29 Damon Chaplin <[email protected]>
* src/goocanvasimage.c: added "scale-to-fit" property, which scales
the image to fit the "width" and "height" settings.
* demo/units-demo.c:
* demo/mv-demo.c (plant_flower):
* demo/demo.c (plant_flower): test "scale-to-fit" property.
2009-05-07 Damon Chaplin <[email protected]>
* src/goocanvasatk.c: fixed GooCanvasWidgetAccessible's G_DEFINE_TYPE
call, using GOO_TYPE_CANVAS_ITEM_ACCESSIBLE as parent class.
This avoids a hang when using GooCanvasWidget with accessibility support
turned on. #581596.
2009-03-16 Damon Chaplin <[email protected]>
* src/goocanvasitem.c: changed docs referring to "root_x" and "root_y"
fields of event structs to "x_root" and "y_root".
2009-03-15 Damon Chaplin <[email protected]>
* Released GooCanvas 0.14
2009-03-15 Damon Chaplin <[email protected]>
* src/goocanvas.c (goo_canvas_query_tooltip): new function to propagate the "query-tooltip"
signal up through the canvas items.
* src/goocanvasitem.[hc]: added "query-tooltip" signal and "tooltip" property.
* src/goocanvasitemmodel.c: added "tooltip" property.
* src/goocanvasitemsimple.c: added "tooltip" property and query_tooltip signal handler.
* configure.in: added dependancy on GTK+ 2.12 for tooltips.
* demo/mv-demo.c:
* demo/demo.c: added tests for tooltips.
2009-03-15 Damon Chaplin <[email protected]>
* src/goocanvasgrid.c: improved section docs.
* src/goocanvas.c: improved a few function docs.
2009-03-15 Damon Chaplin <[email protected]>
* docs/coordinates.xml:
* docs/architecture.xml:
* docs/creating-items.xml:
* src/goocanvasitemsimple.c: use the terms "canvas coordinate space" or
"canvas space" rather than "device space" which is a bit misleading.
* src/goocanvasitem.c: clarify the docs for the mouse position fields
of the event structs of the signals. #573458
2009-03-15 Gian Mario Tagliaretti <[email protected]>
(Committed by Damon with a few changes.)
* src/goocanvasitem.h (struct _GooCanvasItemIface): added
scroll_event() signals on items.
* src/goocanvasitem.c: implemented "scroll_event" signals on items.
* src/goocanvas.c: implemented "scroll_event" signals on items.
* demo/demo.c: added test for above. #566110
2009-02-17 Damon Chaplin <[email protected]>
* src/goocanvas.c (goo_canvas_convert_from_item_space): changed the
order of the arguments to cairo_matrix_multiply(). This was broken
for everything except translations. #572180
2009-01-12 Armin Burgmeier <[email protected]>
* src/goocanvasellipse.c:
* src/goocanvaspolyline.c:
* src/goocanvasgroup.c:
* src/goocanvaspath.c:
* src/goocanvaswidget.c:
* src/goocanvastext.c:
* src/goocanvastable.c: Added "x", "y", "width" and "height"
properties where they do not exist already. GooCanvasGroup clips its
children if they are out of the specified area, and GooCanvasText
clips the text. It is possible to turn off the clipping by using -1
for width or height, respectively, which is the default.
* demo/generic-position-demo.c:
* demo/mv-generic-position-demo.c:
* demo/Makefile.am: Added a demo showing how this can be used to
generically resize items using drag and drop.
(Patch from bug #555097 committed with quite a few changes by Damon)
2008-12-29 Damon Chaplin <[email protected]>
* src/goocanvasgrid.c (calculate_start_position)
(paint_vertical_lines, paint_horizontal_lines): handle step <= 0.0.
It should now draw a single line at the start position.
(based on patch from Murray Cumming) #563487.
2008-12-29 Jonathon Jongsma <[email protected]>
* demo/Makefile.am: Fix building demos when builddir != srcdir.
goocanvasenumtypes.h is generated in the build dir and not the src dir
so we must also add the build dir to the INCLUDES. #561401.
2008-11-30 Damon Chaplin <[email protected]>
* Released GooCanvas 0.13
2008-11-19 Damon Chaplin <[email protected]>
* src/goocanvasitemmodel.c (goo_canvas_item_model_stop_animation):
* src/goocanvasitem.c (goo_canvas_item_animate_cb)
(goo_canvas_item_stop_animation): remove the current animation data
before emitting "animation-finished", so signal handlers can start a
new animation.
2008-11-17 Damon Chaplin <[email protected]>
* src/goocanvasgrid.c: added "show-horz-grid-lines" and
"show-vert-grid-lines" properties, to turn off horz/vert grid lines.
2008-11-17 Damon Chaplin <[email protected]>
* src/goocanvas.c (redraw_static_items_at_position): redraw each
group of static items separately, to stop GTK+ merging the redraw
rect into one massive one.
* demo/mv-demo.c (create_static_model):
* demo/demo.c (setup_static_items): use a group for all the static
items.
2008-11-17 Damon Chaplin <[email protected]>
* src/goocanvas.c: added "redraw-when-scrolled" boolean property,
which makes the canvas redraw the entire window when scrolled. This
is useful for static items to reduce flicker, but is slower.
(goo_canvas_adjustment_value_changed): map/unmap the temporary window
to implement "redraw-when-scrolled".
2008-11-04 Damon Chaplin <[email protected]>
* src/goocanvasutils.h: added typedefs for wrappers of cairo types
(but ifdef'd out so not usable), so we can add docs for them.
And added the docs, pointing to the cairo docs.
* src/goocanvasutils.c (goo_canvas_line_dash_get_type): changed the
registered type name from GooCairoLineDash to GooCanvasLineDash so the
docs work. The struct was already called GooCanvasLineDash.
2008-11-03 Damon Chaplin <[email protected]>
* src/goocanvas.c (emit_pointer_event): handle NULL target_item.
* src/goocanvaswidget.c: note that widgets can't be static.
* README:
* docs/overview.xml: mention static items and the grid item.
2008-11-03 Damon Chaplin <[email protected]>
* src/goocanvas.c (goo_canvas_scroll_to_item): just return if the
item is static, as we can't scroll to a static item.
(emit_pointer_event): convert the pointer position to static item space
for static items.
* src/goocanvasatk.c (goo_canvas_item_accessible_get_item_extents):
handle static items - don't need to convert to pixels within the
window as they are already like that.
2008-11-03 Damon Chaplin <[email protected]>
* src/goocanvasgrid.[hc]: new grid item.
* demo/mv-demo.c (setup_grids):
* demo/demo.c (setup_grids): added a grid.
* src/Makefile.am: added grid.
* src/goocanvas.[hc] (goo_canvas_convert_bounds_to_item_space): new
function to convert a bounding box in device space to a bounding box
in item space. Useful in paint() methods to optimize painting.
* src/goocanvasutils.c (goo_canvas_convert_colors_to_rgba)
(goo_canvas_get_rgba_value_from_pattern)
(goo_canvas_set_style_property_from_pattern)
(goo_canvas_create_pattern_from_color_value)
(goo_canvas_create_pattern_from_rgba_value)
(goo_canvas_create_pattern_from_pixbuf_value): new private utility
functions taken out of goocanvasitemsimple.c code.
* src/goocanvasitemsimple.c: use above utility functions.
2008-10-31 Damon Chaplin <[email protected]>
* src/goocanvasitemmodel.h (struct _GooCanvasItemModelIface):
* src/goocanvasitem.h (struct _GooCanvasItemIface): added
animation_finished() signals.
* src/goocanvasitemmodel.c:
* src/goocanvasitem.c: implemented "animation-finished" signals.
* demo/mv-demo-animation.c:
* demo/demo-animation.c: added test for above.
2008-10-31 Damon Chaplin <[email protected]>
* demo/mv-demo-arrowhead.c (on_button_press):
* demo/demo-arrowhead.c (on_button_press):
* demo/mv-demo.c (on_button_press):
* demo/demo.c (on_button_press): use GDK_POINTER_MOTION_HINT_MASK for
the pointer grab, so we don't get too many events.
2008-10-31 Damon Chaplin <[email protected]>
* src/goocanvas.h:
(goo_canvas_get_static_root_item): new function to get static root item.
(goo_canvas_set_static_root_item): new function to set static root item.
(goo_canvas_get_static_root_item_model): new function to get static
root item model.
(goo_canvas_set_static_root_item_model): new function to set static
root item model.
(goo_canvas_request_item_redraw): new function to request a redraw of
an item either in device space or in the static item space.
* src/goocanvasitem.h (struct _GooCanvasItemIface): added
get_is_static() and set_is_static() interface methods.
* src/goocanvasitemsimple.h (struct _GooCanvasItemSimpleData): removed
one bit from cache_setting and used it for is_static. Hopefully that
won't break binary compatibility.
* src/goocanvas.c (struct _GooCanvasPrivate): added new private struct
with static root item & model and current window position.
(goo_canvas_init): init private struct and create static root item.
(goo_canvas_dispose): free static root item & model.
(goo_canvas_update_internal): update static items.
(goo_canvas_get_item_at): check static items as well.
(goo_canvas_get_items_at): check static items as well.
(goo_canvas_realize): store original window position in private struct.
(request_static_redraw): new function to request a redraw in static
coordinate space.
(request_all_static_redraws): new function to request a redraw of all
static items.
(paint_static_items): new function to paint the static items.
(goo_canvas_expose_event): call paint_static_items().
(goo_canvas_convert_to_static_item_space): new function to convert
coords to static space.
(goo_canvas_adjustment_value_changed): redraw the static items before
the window is scrolled, but in their new position. We do this so we
don't see them being dragged along when scrolling.
Redraw them again after the window has been moved. Hopefully we can
optimize this a bit in future to avoid the flickering.
* src/goocanvasitem.c (goo_canvas_item_get_is_static)
(goo_canvas_item_set_is_static): new functions to call the interface
methods if they are implemented. The default behavior allows old code
to work without crashing (but old items can't be static).
* src/goocanvasitemsimple.c (goo_canvas_item_simple_get_is_static)
(goo_canvas_item_simple_set_is_static): implemented new interface
functions - just get/set the bit-flag.
* src/goocanvasgroup.c (goo_canvas_group_add_child): call
set_is_static() on new child.
* src/goocanvasgroup.c (goo_canvas_group_set_is_static): implement new
interface method, calling set_is_static() for all children if changed.
* src/goocanvasitemsimple.c:
* src/goocanvasgroup.c:
* src/goocanvastable.c: use new goo_canvas_request_item_redraw()
function so static items are redrawn correctly.
* demo/mv-demo.c (create_static_model):
* demo/demo.c (setup_static_items): added some static items to test.
Note that dragging around when scale != 1.0 is weird as the coord
spaces are different, but is expected.
2008-10-15 Damon Chaplin <[email protected]>
* src/goocanvaspolyline.c (goo_canvas_polyline_is_item_at): only check
the fill if the polyline path is closed. Otherwise if we call
cairo_in_fill() it will automatically close the path which is not what
we want.
* src/goocanvaspath.c (goo_canvas_path_is_item_at): only check the fill
if a fill color/pattern has been set, for similar reasons.
2008-10-12 Damon Chaplin <[email protected]>
* src/goocanvastext.c (goo_canvas_text_create_layout): fixed calculation
of text bounds.
2008-10-12 Armin Burgmeier <[email protected]>
* src/goocanvastable.c (goo_canvas_table_get_requested_area)
(goo_canvas_table_allocate_area): Request redraw of the table's
bounds, as GooCanvasItemSimple does, to fix incorrect drawing when
changing the table's width or height.
(goo_canvas_table_paint): Keep clipping to the allocated size when
drawing the children, so they are not rendered outside the allocated
area when the table is shrunk. #555093
2008-10-11 Damon Chaplin <[email protected]>
* docs/coordinates.xml: added section on Cairo limits.
* README: updated home page URL.
2008-10-05 Damon Chaplin <[email protected]>
* src/goocanvastext.c (goo_canvas_text_create_layout): don't turn off
font hinting. I don't think it has any effect on text layout so we can
safely leave it on. Small text should be easier to read, as well as
non-antialiased text. Though it does seem to sometimes produce slightly
odd results for rotated text (see the 8-bit text in the demo).
2008-09-21 Damon Chaplin <[email protected]>
* Released GooCanvas 0.12
2008-09-21 Damon Chaplin <[email protected]>
* configure.in: renamed LT_CURRENT, LT_AGE & LT_REVISION to CURRENT,
AGE & REVISION to avoid problems with libtool 2.2. #552725.
2008-09-14 Damon Chaplin <[email protected]>
* src/goocanvasitemsimple.c (goo_canvas_item_simple_get_requested_area)
(goo_canvas_item_simple_allocate_area): request redraws of the old and
new item bounds.
2008-09-09 Damon Chaplin <[email protected]>
* Released GooCanvas 0.11
2008-09-02 Damon Chaplin <[email protected]>
* src/goocanvastable.c (goo_canvas_table_paint): use the item's
fill and stroke colors for the table background and grid.
* demo/table-demo.c: test the above.
2008-08-17 Damon Chaplin <[email protected]>
* src/goocanvasgroup.c (goo_canvas_group_add_child)
(goo_canvas_group_remove_child): emit the "children_changed" ATK
signal, if ATK is enabled. This needs testing.
2008-08-17 Damon Chaplin <[email protected]>
* src/Makefile.am (INCLUDES):
* demo/Makefile.am (INCLUDES): get rid of the XXX_DISABLE_DEPRECATED
flags so we don't break compilation when GTK+ deprecates stuff. #548086
2008-06-24 Damon Chaplin <[email protected]>
* src/goocanvasgroup.c (goo_canvas_group_get_child)
(goo_canvas_group_model_get_child): return NULL if child_num is out
of range. #535150
* src/goocanvasitemmodel.c (goo_canvas_item_model_get_child):
* src/goocanvasitem.c (goo_canvas_item_get_child): updated docs.
2008-06-24 Damon Chaplin <[email protected]>
* src/goocanvasutils.h: removed comma at end of GooCanvasItemVisibility
enum. Patch from Hubert Figuiere. #539844
2008-06-22 Kjartan Maraas <[email protected]>
* demo/demo-animation.c: (create_animation_page):
* demo/demo-arrowhead.c: (create_drag_box):
* demo/demo-clipping.c: (setup_canvas):
* demo/demo-events.c: (setup_item_signals):
* demo/demo-features.c: (create_canvas_features):
* demo/demo-fifteen.c: (setup_item_signals),
(create_canvas_fifteen):
* demo/demo-focus.c: (create_focus_box):
* demo/demo-grabs.c: (create_fixed), (setup_item_signals):
* demo/demo-large-items.c: (create_large_items_page):
* demo/demo-paths.c: (create_paths_page):
* demo/demo-table.c: (create_demo_item), (create_demo_table),
(create_width_for_height_table):
* demo/demo.c: (setup_item_signals), (create_canvas_primitives),
(setup_canvas), (create_window):
* demo/mv-demo-animation.c: (create_animation_page):
* demo/mv-demo-arrowhead.c: (on_item_created),
(create_canvas_arrowhead):
* demo/mv-demo-clipping.c: (setup_canvas):
* demo/mv-demo-events.c: (on_item_created), (create_events_page):
* demo/mv-demo-features.c: (on_item_created),
(create_canvas_features):
* demo/mv-demo-fifteen.c: (on_item_created),
(create_canvas_fifteen):
* demo/mv-demo-focus.c: (on_item_created), (create_focus_page):
* demo/mv-demo-grabs.c: (create_fixed), (on_item_created),
(create_canvas):
* demo/mv-demo-paths.c: (create_paths_page):
* demo/mv-demo-table.c: (create_demo_item), (create_demo_table),
(create_width_for_height_table):
* demo/mv-demo.c: (on_item_created), (create_canvas_primitives),
(create_window):
* demo/mv-scalability-demo.c: (setup_canvas), (create_canvas),
(main):
* demo/mv-simple-demo.c: (main):
* demo/mv-table-demo.c: (main):
* demo/scalability-demo.c: (setup_canvas), (create_canvas), (main):
* demo/simple-demo.c: (main):
* demo/table-demo.c: (main):
* demo/units-demo.c: (setup_canvas), (create_canvas), (main):
* demo/widgets-demo.c: (create_focus_box), (main):
Use G_CALLBACK instead of the deprecated GtkSignal stuff.
2008-05-18 Damon Chaplin <[email protected]>
* src/goocanvasatk.c (goo_canvas_widget_accessible_new): made static.
2008-05-18 Damon Chaplin <[email protected]>
* src/goocanvas.c (goo_canvas_expose_event): when clipping, clip to
the intersection of the canvas bounds and the expose bounds, to avoid
problems with cairo's coordinate limits. (This was apparent in the
scalability demo - it wasn't redrawing properly at the bottom of the
canvas.)
2008-05-09 Damon Chaplin <[email protected]>
* src/goocanvasitemmodel.h:
* src/goocanvasitem.h: removed _CLASS macros since they are interfaces.
(From Masatake YAMATO).
2008-05-09 Damon Chaplin <[email protected]>
* demo/widgets-demo.c (remove_widget_clicked): use g_list_delete_link
to update the GList, to avoid a crash.
2008-04-27 Damon Chaplin <[email protected]>
* Released GooCanvas 0.10
2008-04-06 Armin Burgmeier <[email protected]>
* src/goocanvastable.c: Implemented grid lines between table items by
adding "horz-grid-line-width", "vert-grid-line-width",
"x-border-spacing" and "y-border-spacing" properties.
(Patch applied by Damon with a few changes.)
* demo/mv-table-demo.c:
* demo/table-demo.c: added tests for the gridlines.
2008-04-04 Damon Chaplin <[email protected]>
* docs/coordinates.xml:
* docs/architecture.xml: new sections.
* docs/creating-items.xml: rewritten.
* src/goocanvasitemmodel.c (goo_canvas_item_model_set_parent):
* src/goocanvasitem.c (goo_canvas_item_set_parent): note in the docs
that the "parent" property can be used to set the parent, but that
these functions are only for implementing new items (a bit confusing).
* src/goocanvasitem.c (goo_canvas_item_is_visible): fixed a bug
where if the item doesn't support the method it would just return
TRUE, but it should also check the ancestors are visible.
* src/goocanvasitemsimple.c (goo_canvas_item_simple_set_property)
(goo_canvas_item_model_simple_set_property): use the _remove()
functions instead of the find_child()/remove_child() code.
2008-03-27 Damon Chaplin <[email protected]>
* src/goocanvasitem.c (goo_canvas_item_get_simple_transform):
* src/goocanvasitemmodel.c (goo_canvas_item_model_get_simple_transform):
new functions to do opposite of set_simple_transform().
* demo/mv-demo.c (test_simple_transforms):
* demo/demo.c (test_simple_transforms): added some test code for above.
2008-03-27 Damon Chaplin <[email protected]>
* docs/wysiwyg.xml: new section to document WYSIWYG stuff.
2008-03-23 Damon Chaplin <[email protected]>
* src/goocanvasitemsimple.c: made "stroke-color-rgba" and
"fill-color-rgba" properties read/write.
* configure.in (pkg_modules): depend on cairo >= 1.4.0 for
cairo_pattern_get_rgba().
* demo/demo.c (test_color_properties): added some test code.
2008-02-25 Damon Chaplin <[email protected]>
* src/goocanvasitemsimple.c: added default implementations for the
simple_update/paint/get_item_at() virtual functions that call
simple_create_path(). These make it easier for language bindings.
Based on patch from Jonathon Jongsma.
2008-02-25 Damon Chaplin <[email protected]>
* src/goocanvastext.c (goo_canvas_text_get_natural_extents): added
function to get the natural extents of the text.
2007-11-23 Damon Chaplin <[email protected]>
* src/goocanvastable.c (goo_canvas_table_size_allocate_pass1): when
shrinking, make sure the extra value is always decreasing, so we don't
get into an infinite loop.
2007-11-18 Damon Chaplin <[email protected]>
* src/goocanvas.c: added support for "clear-background" property,
patch from Grahame Bowland.
2007-11-18 Damon Chaplin <[email protected]>
* src/goocanvasitem.c (goo_canvas_item_get_child_property)
(goo_canvas_item_set_child_property):
* src/goocanvasitemmodel.c (goo_canvas_item_model_get_child_property)
(goo_canvas_item_model_set_child_property): new functions to get/set
individual child properties (to help language bindings).
* demo/demo-table.c (create_demo_item):
* demo/mv-demo-table.c (create_demo_item): test the above.
* src/goocanvasitem.c:
* src/goocanvasitemmodel.c: fixed some docs that wrongly say functions
are for implementing new items only.
2007-11-13 Murray Cumming <[email protected]>
* src/goocanvasitem.c: goo_canvas_item_add_child():
* src/goocanvasitemmodel.c: goo_canvas_item_model_add_child():
Add a debugging check to make sure the child is not the same as the
parent, preventing an endless loop.
2007-11-13 Murray Cumming <[email protected]>
* src/goocanvasimage.c: goo_canvas_image_set_common_property():
Support setting the pixbuf property to NULL.
2007-11-13 Murray Cumming <[email protected]>
* src/goocanvas.c: goo_canvas_render(): Call goo_canvas_update()
if necessary, as suggested by Damon, to fix a crash when rendering
a GooCanvasTable that has never been shown on screen.