Mads Kiilerich
91b08d5f45
gtkmm: use get_realized() instead of deprecated Gtk::Widget::is_realized()
2022-04-08 20:20:32 +02:00
Robin Gareus
e165e92268
Remove annoying debug message
2021-09-25 00:01:23 +02:00
Paul Davis
368e98336f
gtkmm2ext: if a CairoWidget is used in the canvas, we do not need to realize the Gtk::EventBox
...
This may be a breaking change, but seems ok from superficial testing.
2021-09-23 11:48:29 -06:00
Paul Davis
00d4765b57
gtkmm2ext: move initialization of CairoWidget members into initializer context
2021-09-10 13:03:57 -06:00
Paul Davis
9f0f1f1772
gtkmm2ext: when calling ::get_width()/get_height() on a cairowidget, if allocation is zero, use widget size
2021-09-10 13:03:32 -06:00
Robin Gareus
d05572e14a
Fix round-corner backround of insensitive ArdourWidgets
...
ArdourButton draws a custom insensitive background, using
the color "gtk_background". This can conflict with gtk's
insensitive background color when using round-corners.
2021-02-14 22:53:18 +01:00
Robin Gareus
70ad205bc1
Separate static widget theme into abstract class
...
This allow the style to be used in classed that are not
directly derived from Ardour's CairoWidget, notably
container widgets or plugin UIs.
2021-01-26 23:37:54 +01:00
Robin Gareus
ab6e274613
Ignore idempotent set_name() calls
...
These calls are expensive, particularly for ArdourButton, that
triggers a re-layout.
2020-05-12 15:37:23 +02:00
Robin Gareus
563a8b15e0
Revert to use an image surface for CairoWidgets
...
This partially reverts 2edbda2526
and is a follow up to 0b266a54f
,
to fix performance issues with MS Windows graphics performance.
2020-01-08 04:24:51 +01:00
Robin Gareus
2edbda2526
Replace explicit image-surface with cairo pattern/group
...
For MacOS/X this is equivalent, rendering happens using a
CGBitmapContext + image-surface. Windows and Linux needs profiling
for respective equivalent surfaces.
2019-12-27 19:35:02 +01:00
Robin Gareus
c3ab63a2ea
Allow for per-widget image-surface backing
...
This is an intermediate commit, before replacing image surfaces with
cairo pattern groups.
The eventual goal is to reduce flickering and/or use
CPU + bitblt for specific widgets instead of cairo
graphics-cards accel.
This also removes excessive calls to getenv() for every rendering
operation.
2019-12-27 19:34:56 +01:00
Paul Davis
5ec5bc4523
goodbye USE_TRACKS_CODE_FEATURES and is_tracks_build
2019-09-25 12:16:13 -06:00
Robin Gareus
cec5ce8f45
Update canvas/UI lib GPL boilerplate and (C) from git log
2019-08-03 15:53:17 +02:00
Robin Gareus
e01582dd9a
Prepare a boxy, no round borders, button-style
2018-10-02 21:28:49 +02:00
Robin Gareus
5e9492b996
consolidate NSGLView
2017-03-21 15:53:29 +01:00
Robin Gareus
d06de26a4f
Towards a consistent render() API.
...
This fixes an -Woverloaded-virtual ambiguity introduced in b5e613d45
void render (cairo_t*, cairo_rectagle*)
void render (Cairo::RefPtr<Cairo::Context> const&, cairo_rectangle_t*)
ArdourCanvas prefers cairomm and CairoWidget itself uses Cairo::Context,
this improves overall API consistency.
2017-03-20 17:12:08 +01:00
Robin Gareus
60a0b8f645
Forward un/map events to NSGLView
2017-03-20 17:12:08 +01:00
Robin Gareus
e307094af3
Allow CairoWidget to be backed by NSGLView
2017-03-20 05:19:38 +01:00
Robin Gareus
004431426d
Towards packing CairoWidgets on ArdourCanvas.
2016-12-19 13:36:42 +01:00
Paul Davis
cf52d6e4b4
enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
2016-07-14 14:45:23 -04:00
Paul Davis
9a11e3a64d
change API for CairoWidget::focus_handler
...
This functor/closure is responsible for stealing focus from any existing text entry (or whatever else may have focus)
when clicking on a CairoWidget or derived class.
The old implementation just gave focus back to the editor canvas. The new version walks up the widget packing
heirarchy to find a focusable parent (from the CairoWidget for which it is invoked). If no focusable parent
is found, it cancels keyboard focus in the toplevel window containing the CairoWidget
2016-03-15 12:41:21 -04:00
Paul Davis
a8f242f80a
no need for an noop method
2016-03-15 12:41:21 -04:00
Paul Davis
bc487bb4b0
replicate the remove-all-trailing whitespace commit(s) in master
2016-02-22 15:31:24 -05:00
Paul Davis
a48684c692
if _need_bg is set to false in a CairoWidget, then don't actually draw the background
2016-02-22 15:31:23 -05:00
Robin Gareus
4a9ffee486
Allow partial CairoWidget exposure
2016-02-12 22:57:46 +01:00
Robin Gareus
22b07e0233
NOOP, remove trailing tabs/whitespace.
2015-10-05 16:17:49 +02:00
Paul Davis
b385d02022
merge two small pieces of code by Valeriy into libs/gtkmm2ext, conditionally used ONLY in Tracks builds.
...
This code is not acceptable for use in Ardour ... comments in code explain more.
2015-06-29 14:18:10 -04:00
Robin Gareus
198c4d1d88
gfx-card & performance testing
2015-05-02 04:54:59 +02:00
Robin Gareus
de85bfd857
fix #6117 - fader prelight
2015-01-28 02:22:52 +01:00
Robin Gareus
b04414d170
allow to use cairo-image/software surface for canvas & cairowidgets
2014-10-28 02:15:10 +01:00
Paul Davis
9be64f2648
add a focus handling callback so that all button press events on CairoWidgets will cause a focus reset.
2014-09-16 12:42:39 -04:00
Robin Gareus
585fa45b62
fix cairo widget background
2014-08-30 01:43:10 +02:00
Ben Loftis
e7a15027e8
refactor flat_buttons into cairowidget, and add a canvas-like convenience function for setting cairo color with a Gtk::Color
2014-08-27 10:55:01 -05:00
Ben Loftis
a7226133a9
refactor _grabbed into cairo_widget
2014-08-22 11:49:59 -05:00
Robin Gareus
ab44e41dfd
change the meters into CairoWidget, add expose_area to CairoWidget::render()
2014-03-20 23:50:40 +01:00
Paul Davis
e4e6010cd4
add on_name_changed() virtual method to CairoWidget
...
If a CairoWidget does not a GtkRC-defined style, then changing its name does not trigger on_style_changed(). Since we want to use CairoWidget::set_name()
to trigger changes in the rendering of a widget, this is ... bad. Adding on_name_changed() provides a workaround for that.
2014-03-06 09:44:33 -05:00
Paul Davis
b08d13706f
remove additional "mid" color from ArdourButton; replace Active/Mid widget state with ExplicitActive/ImplicitActive; represent implicit-active state with colored border around ArdourButton; tune button colors; new rounded_foo() functions, some in use, some not in use right now
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11466 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-07 17:43:55 +00:00
Paul Davis
20aeb5af0a
move CairoWidget into gtkmm2ext, add CairoPacker, made the time info box use CairoPacker, make the info status "bar" use CairoPacker
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10933 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-07 13:57:45 +00:00