4c5c7769bb
canvas: skip intermediate Canvas::Rect object (trivial optimization)
2023-09-15 17:34:30 -06:00
4c845eb2a0
cairo single pixel line offset fix, part 1
2023-07-17 20:54:33 -06:00
3ab3ef3b55
Fix lineset drawing (again), apply cairo 0.5px offset
...
see also f08299ea1e
2023-07-17 23:28:36 +02:00
f08299ea1e
Fix lineset drawing for lines > 1px width
...
This is a follow up to 248e37ac0c
.
A line at 0 with 1px width should draw from 0.5 to 1.5
(cairo pixel offset). The same line with a width of 3px
is -0.5 to 2.5.
The self.intersection code calculates this correctly, subtracting
shift, the drawing code however incorrectly added it.
This fixes MIDI track grid/note offset as well as a bleed
below the track.
2023-07-17 05:05:20 +02:00
7dc9bf157b
fix measure line drawing (convert to window coords for intersection check)
2023-06-16 09:16:53 -06:00
248e37ac0c
canvas LineSet: fix rendering to get coordinates precisely correct
2023-06-15 20:10:32 -06:00
a1e9dfb672
canvas lineset: C++11-ification
2023-04-10 09:18:44 -06:00
4f87506e5c
do not sort lineset every time a coord is added; use RAII to create scope and sort at end
2023-04-09 14:36:03 -06:00
d12dd4015d
Revert canvas debugging
...
This reverts commit 8359311849
.
This reverts commit f377822891
.
This reverts commit 859d6ebe4a
.
This reverts commit 4cd7de7a6f
.
2023-02-04 18:23:18 +01:00
4cd7de7a6f
debugging: allow selection no-draw for canvas fill, outline, text, lineset and waveview
2023-01-20 18:13:12 -07:00
f913373351
canvas: change Item::bb_clean() to better named Item::set_bbox_clean()
2022-04-26 22:04:08 -06:00
c75ceb31ab
canvas: when an item has its bbox marked dirty, this should propagate to all parents
2022-04-26 22:04:08 -06:00
ad6afbe68a
canvas: use Item::bb_clean() to mark _bounding_box_dirty false
2021-08-13 12:51:36 -06:00
82bad0725a
libcanvas: reapply LineSet::add_line -> add_coord change after rebase conflicts with master
2021-08-13 12:51:27 -06:00
b90332b439
Canvas: change LineSet::add() to ::add_line()
...
Preparation for virtualization of Item::add()
2021-08-13 12:51:25 -06:00
cec5ce8f45
Update canvas/UI lib GPL boilerplate and (C) from git log
2019-08-03 15:53:17 +02:00
601c317d70
Clean up library inheritance (colors.h, utils.h)
...
make libwidget independent of libcanvas.
Confine basics to pbd and gtkmm2ext.
2017-07-17 21:06:04 +02:00
4fa4b9a135
remove use of boost::optional to define "undefined" Canvas::Rect, and use Rect::empty instead.
...
This commit includes Rect::operator bool() which might be a candidate for removal in a future commit, in an attempt
to make the meaning clearer
2017-01-19 20:54:54 +01:00
22b07e0233
NOOP, remove trailing tabs/whitespace.
2015-10-05 16:17:49 +02:00
a8bd6ecc4f
refactor Canvas so that all Items have children; add Container abstract base class; rename Group as "Layout" and retain only drawing semantics
2014-06-21 11:43:42 -04:00
590882f3c8
change Canvas heirarchy and constructors
...
Items no longer need a parent group (they require a Canvas pointer instead), so all constructors have been rationalized
and have two variants, one with a parent and one with a canvas.
All Items now inherit from Fill and Outline, to banish diagonal inheritance and virtual base classes and all that.
There were zero changes to the Ardour GUI arising from these changes.
2014-06-12 14:53:44 -04:00
7a3a66db72
fix Canvas::LineSet implementation to support horizontal and vertical linesets
2014-06-09 15:39:19 -04:00
6473cc7cb4
drop use of bounding box to determine whether an item covers a point; add Item::covers(Duple const&)
...
Default implementation for Item still uses bounding box, but specializations for Arc (Circle), Polygon, Line and PolyLine have been added
2013-11-04 11:56:10 -05:00
c21ed2b877
fix drawing of a canvas LineSet object
2013-10-24 17:13:22 -04:00
192f22d89e
fix confusion in Canvas::LineSet over window vs. item coordinates that affected redraw (or not) of MIDI track note lines when the canvas origin != 0
2013-10-22 21:12:47 -04:00
77f5f4c4bf
basically operational switch to canvas drawing coordinates, although text and waves don't work, and redraw areas are too small
2013-06-18 08:23:06 -04:00
37dd7e952b
add headers to all canvas .cc and .h files
2013-04-15 22:10:18 -04:00
64d3763652
remove all xml++.h inclusion by canvas implementations
2013-04-15 22:00:13 -04:00
84fb0a8dce
remove all XML related API from canvas. it may have been useful during development, but it is just a distraction - we will NEVER be saving or restoring canvas state via XML or any kind of serialized state
2013-04-15 21:57:08 -04:00
aaea166135
initial commit of hand merging, plus getting "ancient" waf script to work correctly
2013-04-04 00:32:52 -04:00