![]() |
Ardour
8.12
|
#include <xfade_curve.h>
Classes | |
struct | CanvasCurve |
Public Types | |
enum | XFadePosition { Start , End } |
![]() | |
typedef std::vector< std::pair< double, Gtkmm2ext::Color > > | StopList |
![]() | |
enum | SplineType { CatmullRomUniform , CatmullRomCentripetal } |
Public Member Functions | |
XFadeCurve (Canvas *) | |
XFadeCurve (Canvas *, XFadePosition) | |
XFadeCurve (Item *) | |
XFadeCurve (Item *, XFadePosition) | |
void | set_fade_position (XFadePosition xfp) |
void | set_show_background_fade (bool show) |
void | compute_bounding_box () const |
void | render (Rect const &area, Cairo::RefPtr< Cairo::Context >) const |
void | set_points_per_segment (uint32_t n) |
void | set_inout (Points const &in, Points const &out) |
void | set_outline_color (Gtkmm2ext::Color c) |
void | set_fill_color (Gtkmm2ext::Color c) |
![]() | |
Item (Canvas *) | |
Item (Item *) | |
Item (Item *, Duple const &p) | |
virtual | ~Item () |
void | redraw () const |
virtual void | prepare_for_render (Rect const &area) const |
virtual void | add_items_at_point (Duple point, std::vector< Item const * > &items) const |
virtual bool | covers (Duple const &point) const |
void | grab () |
void | ungrab () |
void | unparent () |
void | reparent (Item *, bool already_added=false) |
Item * | parent () const |
uint32_t | depth () const |
const Item * | closest_ancestor_with (const Item &other) const |
bool | common_ancestor_within (uint32_t, const Item &other) const |
bool | is_ancestor_of (const Item &candidate) const |
bool | is_descendant_of (const Item &candidate) const |
void | set_position (Duple) |
void | set_x_position (Coord) |
void | set_y_position (Coord) |
void | move (Duple) |
Duple | position () const |
Duple | window_origin () const |
Duple | canvas_origin () const |
ScrollGroup * | scroll_parent () const |
virtual void | size_request (double &w, double &h) const |
void | set_size_request (double w, double h) |
void | set_size_request_to_display_given_text (const std::vector< std::string > &strings, gint hpadding, gint vpadding) |
void | size_allocate (Rect const &) |
virtual void | _size_allocate (Rect const &) |
virtual void | size_allocate_children (Rect const &r) |
Rect | allocation () const |
void | set_layout_sensitive (bool) |
bool | layout_sensitive () const |
Rect | bounding_box () const |
Coord | height () const |
Coord | width () const |
Duple | item_to_parent (Duple const &) const |
Rect | item_to_parent (Rect const &) const |
Duple | parent_to_item (Duple const &) const |
Rect | parent_to_item (Rect const &) const |
void | canvas_to_item (Coord &, Coord &) const |
void | item_to_canvas (Coord &, Coord &) const |
Duple | canvas_to_item (Duple const &) const |
Rect | item_to_canvas (Rect const &) const |
Duple | item_to_canvas (Duple const &) const |
Rect | canvas_to_item (Rect const &) const |
Duple | item_to_window (Duple const &, bool rounded=true) const |
Duple | window_to_item (Duple const &) const |
Rect | item_to_window (Rect const &, bool rounded=true) const |
Rect | window_to_item (Rect const &) const |
void | raise_to_top () |
void | raise (int) |
void | lower_to_bottom () |
virtual void | hide () |
virtual void | show () |
void | block_change_notifications () |
void | unblock_change_notifications () |
bool | self_visible () const |
bool | visible () const |
Canvas * | canvas () const |
void | set_ignore_events (bool) |
bool | ignore_events () const |
void | set_data (std::string const &, void *) |
void * | get_data (std::string const &) const |
virtual void | add (Item *) |
virtual void | add_front (Item *) |
virtual void | remove (Item *) |
void | clear (bool with_delete=false) |
std::list< Item * > const & | items () const |
void | raise_child_to_top (Item *) |
void | raise_child (Item *, int) |
void | lower_child_to_bottom (Item *) |
virtual void | child_changed (bool bbox_changed) |
PackOptions | pack_options () const |
void | set_pack_options (PackOptions) |
std::string | whoami () const |
const std::string & | tooltip () const |
void | set_tooltip (const std::string &) |
void | start_tooltip_timeout () |
void | stop_tooltip_timeout () |
virtual void | dump (std::ostream &) const |
std::string | whatami () const |
bool | resize_queued () const |
void | queue_resize () |
bool | scroll_translation () const |
void | disable_scroll_translation () |
virtual void | layout () |
Duple | position_offset () const |
![]() | |
Fill (Item &self) | |
virtual | ~Fill () |
virtual void | set_fill (bool) |
Gtkmm2ext::Color | fill_color () const |
bool | fill () const |
void | set_gradient (StopList const &stops, bool is_vertical) |
void | set_pattern (Cairo::RefPtr< Cairo::Pattern >) |
![]() | |
Outline (Item &self) | |
virtual | ~Outline () |
Gtkmm2ext::Color | outline_color () const |
Distance | outline_width () const |
virtual void | set_outline_width (Distance) |
bool | outline () const |
virtual void | set_outline (bool) |
Private Member Functions | |
Cairo::Path * | get_path (Rect const &, Cairo::RefPtr< Cairo::Context >, CanvasCurve const &) const |
void | close_path (Rect const &, Cairo::RefPtr< Cairo::Context >, CanvasCurve const &p, bool) const |
void | interpolate () |
Private Attributes | |
uint32_t | points_per_segment |
CanvasCurve | _in |
CanvasCurve | _out |
XFadePosition | _xfadeposition |
Gtkmm2ext::Color | _outline_color |
Gtkmm2ext::Color | _fill_color |
bool | show_background_fade |
Additional Inherited Members | |
![]() | |
sigc::signal1< bool, GdkEvent *, EventAccumulator< bool > > | Event |
bool | _resize_queued |
double | _requested_width |
double | _requested_height |
![]() | |
static int | default_items_per_cell |
![]() | |
void | begin_change () |
void | end_change () |
void | begin_visual_change () |
void | end_visual_change () |
void | set_bbox_clean () const |
void | set_bbox_dirty () const |
bool | bbox_dirty () const |
void | invalidate_lut () const |
void | clear_items (bool with_delete) |
void | ensure_lut () const |
void | add_child_bounding_boxes (bool include_hidden=false) const |
void | render_children (Rect const &area, Cairo::RefPtr< Cairo::Context > context) const |
void | prepare_for_render_children (Rect const &area) const |
Duple | scroll_offset () const |
![]() | |
void | setup_fill_context (Cairo::RefPtr< Cairo::Context >) const |
void | setup_gradient_context (Cairo::RefPtr< Cairo::Context >, Rect const &, Duple const &) const |
![]() | |
void | setup_outline_context (Cairo::RefPtr< Cairo::Context >) const |
![]() | |
static void | interpolate (const Points &coordinates, uint32_t points_per_segment, SplineType curve_type, bool closed, Points &results) |
![]() | |
Canvas * | _canvas |
Item * | _parent |
ScrollGroup * | _scroll_parent |
Duple | _position |
bool | _visible |
Rect | _pre_change_bounding_box |
Rect | _bounding_box |
PackOptions | _pack_options |
Rect | _allocation |
bool | _layout_sensitive |
std::map< std::string, void * > | _data |
LookupTable * | _lut |
std::list< Item * > | _items |
![]() | |
Item & | _self |
Gtkmm2ext::Color | _fill_color |
bool | _fill |
bool | _transparent |
StopList | _stops |
bool | _vertical_gradient |
Cairo::RefPtr< Cairo::Pattern > | _pattern |
![]() | |
Item & | _self |
Gtkmm2ext::Color | _outline_color |
Distance | _outline_width |
bool | _outline |
Definition at line 29 of file xfade_curve.h.
Enumerator | |
---|---|
Start | |
End |
Definition at line 32 of file xfade_curve.h.
ArdourCanvas::XFadeCurve::XFadeCurve | ( | Canvas * | ) |
ArdourCanvas::XFadeCurve::XFadeCurve | ( | Canvas * | , |
XFadePosition | |||
) |
ArdourCanvas::XFadeCurve::XFadeCurve | ( | Item * | ) |
ArdourCanvas::XFadeCurve::XFadeCurve | ( | Item * | , |
XFadePosition | |||
) |
|
private |
|
virtual |
Update _bounding_box and _bounding_box_dirty
Implements ArdourCanvas::Item.
|
private |
|
private |
|
virtual |
Render this item to a Cairo context.
area | Area to draw, in window coordinates |
Items must convert their own coordinates into window coordinates because Cairo is limited to a fixed point coordinate space that does not extend as far as the Ardour timeline. All rendering must be done using coordinates that do not exceed the (rough) limits of the canvas' window, to avoid odd errors within Cairo as it converts doubles into its fixed point format and then tesselates the results.
Implements ArdourCanvas::Item.
|
inline |
Definition at line 42 of file xfade_curve.h.
|
inlinevirtual |
Reimplemented from ArdourCanvas::Fill.
Definition at line 57 of file xfade_curve.h.
|
inlinevirtual |
Reimplemented from ArdourCanvas::Outline.
Definition at line 51 of file xfade_curve.h.
void ArdourCanvas::XFadeCurve::set_points_per_segment | ( | uint32_t | n | ) |
|
inline |
Definition at line 43 of file xfade_curve.h.
|
private |
Definition at line 81 of file xfade_curve.h.
|
private |
Definition at line 76 of file xfade_curve.h.
|
private |
Definition at line 77 of file xfade_curve.h.
|
private |
Definition at line 80 of file xfade_curve.h.
|
private |
Definition at line 79 of file xfade_curve.h.
|
private |
Definition at line 74 of file xfade_curve.h.
|
private |
Definition at line 83 of file xfade_curve.h.