Enhancement: Placement of buttons below the curves (on behalf of Wolfgang) see issue 227 (# 47)
This commit is contained in:
@@ -40,7 +40,7 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt)
|
|||||||
activeParamControl = -1;
|
activeParamControl = -1;
|
||||||
|
|
||||||
// custom curve
|
// custom curve
|
||||||
customCurveBox = new Gtk::HBox ();
|
customCurveBox = new Gtk::VBox ();
|
||||||
customCurveBox->set_spacing(4);
|
customCurveBox->set_spacing(4);
|
||||||
customCurve = Gtk::manage (new MyDiagonalCurve ());
|
customCurve = Gtk::manage (new MyDiagonalCurve ());
|
||||||
customCurve->set_size_request (GRAPH_SIZE+2*RADIUS, GRAPH_SIZE+2*RADIUS);
|
customCurve->set_size_request (GRAPH_SIZE+2*RADIUS, GRAPH_SIZE+2*RADIUS);
|
||||||
@@ -48,23 +48,22 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt)
|
|||||||
//customCurve->set_tooltip_text (M("CURVEEDITOR_TOOLTIPMOVESPEED"));
|
//customCurve->set_tooltip_text (M("CURVEEDITOR_TOOLTIPMOVESPEED"));
|
||||||
customCurveBox->pack_start (*customCurve, Gtk::PACK_EXPAND_WIDGET, 0);
|
customCurveBox->pack_start (*customCurve, Gtk::PACK_EXPAND_WIDGET, 0);
|
||||||
|
|
||||||
Gtk::VBox* custombbox = Gtk::manage (new Gtk::VBox ());
|
Gtk::HBox* custombbox = Gtk::manage (new Gtk::HBox ());
|
||||||
custombbox->set_spacing(4);
|
custombbox->set_spacing(4);
|
||||||
saveCustom = Gtk::manage (new Gtk::Button ());
|
|
||||||
saveCustom->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-save"), Gtk::ICON_SIZE_BUTTON)));
|
|
||||||
loadCustom = Gtk::manage (new Gtk::Button ());
|
|
||||||
loadCustom->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-open"), Gtk::ICON_SIZE_BUTTON)));
|
|
||||||
pasteCustom = Gtk::manage (new Gtk::Button ());
|
pasteCustom = Gtk::manage (new Gtk::Button ());
|
||||||
pasteCustom->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-paste"), Gtk::ICON_SIZE_BUTTON)));
|
pasteCustom->add (*Gtk::manage (new RTImage ("edit-paste.png")));
|
||||||
copyCustom = Gtk::manage (new Gtk::Button ());
|
copyCustom = Gtk::manage (new Gtk::Button ());
|
||||||
copyCustom->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-copy"), Gtk::ICON_SIZE_BUTTON)));
|
copyCustom->add (*Gtk::manage (new RTImage ("edit-copy.png")));
|
||||||
|
saveCustom = Gtk::manage (new Gtk::Button ());
|
||||||
|
saveCustom->add (*Gtk::manage (new RTImage ("gtk-save-large.png")));
|
||||||
|
loadCustom = Gtk::manage (new Gtk::Button ());
|
||||||
|
loadCustom->add (*Gtk::manage (new RTImage ("gtk-open.png")));
|
||||||
|
|
||||||
|
|
||||||
custombbox->pack_end (*saveCustom, Gtk::PACK_SHRINK, 0);
|
|
||||||
custombbox->pack_end (*loadCustom, Gtk::PACK_SHRINK, 0);
|
|
||||||
custombbox->pack_end (*pasteCustom, Gtk::PACK_SHRINK, 0);
|
custombbox->pack_end (*pasteCustom, Gtk::PACK_SHRINK, 0);
|
||||||
custombbox->pack_end (*copyCustom, Gtk::PACK_SHRINK, 0);
|
custombbox->pack_end (*copyCustom, Gtk::PACK_SHRINK, 0);
|
||||||
|
custombbox->pack_end (*saveCustom, Gtk::PACK_SHRINK, 0);
|
||||||
|
custombbox->pack_end (*loadCustom, Gtk::PACK_SHRINK, 0);
|
||||||
|
|
||||||
customCurveBox->pack_end (*custombbox, Gtk::PACK_SHRINK, 0);
|
customCurveBox->pack_end (*custombbox, Gtk::PACK_SHRINK, 0);
|
||||||
customCurveBox->show_all ();
|
customCurveBox->show_all ();
|
||||||
@@ -82,7 +81,7 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt)
|
|||||||
|
|
||||||
|
|
||||||
// NURBS curve
|
// NURBS curve
|
||||||
NURBSCurveBox = new Gtk::HBox ();
|
NURBSCurveBox = new Gtk::VBox ();
|
||||||
NURBSCurveBox->set_spacing(4);
|
NURBSCurveBox->set_spacing(4);
|
||||||
NURBSCurve = Gtk::manage (new MyDiagonalCurve ());
|
NURBSCurve = Gtk::manage (new MyDiagonalCurve ());
|
||||||
NURBSCurve->set_size_request (GRAPH_SIZE+2*RADIUS, GRAPH_SIZE+2*RADIUS);
|
NURBSCurve->set_size_request (GRAPH_SIZE+2*RADIUS, GRAPH_SIZE+2*RADIUS);
|
||||||
@@ -91,21 +90,21 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt)
|
|||||||
//customCurve->set_tooltip_text (M("CURVEEDITOR_TOOLTIPMOVESPEED"));
|
//customCurve->set_tooltip_text (M("CURVEEDITOR_TOOLTIPMOVESPEED"));
|
||||||
NURBSCurveBox->pack_start (*NURBSCurve, Gtk::PACK_EXPAND_WIDGET, 0);
|
NURBSCurveBox->pack_start (*NURBSCurve, Gtk::PACK_EXPAND_WIDGET, 0);
|
||||||
|
|
||||||
Gtk::VBox* NURBSbbox = Gtk::manage (new Gtk::VBox ());
|
Gtk::HBox* NURBSbbox = Gtk::manage (new Gtk::HBox ());
|
||||||
NURBSbbox->set_spacing(4);
|
NURBSbbox->set_spacing(4);
|
||||||
saveNURBS = Gtk::manage (new Gtk::Button ());
|
|
||||||
saveNURBS->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-save"), Gtk::ICON_SIZE_BUTTON)));
|
|
||||||
loadNURBS = Gtk::manage (new Gtk::Button ());
|
|
||||||
loadNURBS->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-open"), Gtk::ICON_SIZE_BUTTON)));
|
|
||||||
pasteNURBS = Gtk::manage (new Gtk::Button ());
|
pasteNURBS = Gtk::manage (new Gtk::Button ());
|
||||||
pasteNURBS->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-paste"), Gtk::ICON_SIZE_BUTTON)));
|
pasteNURBS->add (*Gtk::manage (new RTImage ("edit-paste.png")));
|
||||||
copyNURBS = Gtk::manage (new Gtk::Button ());
|
copyNURBS = Gtk::manage (new Gtk::Button ());
|
||||||
copyNURBS->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-copy"), Gtk::ICON_SIZE_BUTTON)));
|
copyNURBS->add (*Gtk::manage (new RTImage ("edit-copy.png")));
|
||||||
|
saveNURBS = Gtk::manage (new Gtk::Button ());
|
||||||
|
saveNURBS->add (*Gtk::manage (new RTImage ("gtk-save-large.png")));
|
||||||
|
loadNURBS = Gtk::manage (new Gtk::Button ());
|
||||||
|
loadNURBS->add (*Gtk::manage (new RTImage ("gtk-open.png")));
|
||||||
|
|
||||||
NURBSbbox->pack_end (*saveNURBS, Gtk::PACK_SHRINK, 0);
|
|
||||||
NURBSbbox->pack_end (*loadNURBS, Gtk::PACK_SHRINK, 0);
|
|
||||||
NURBSbbox->pack_end (*pasteNURBS, Gtk::PACK_SHRINK, 0);
|
NURBSbbox->pack_end (*pasteNURBS, Gtk::PACK_SHRINK, 0);
|
||||||
NURBSbbox->pack_end (*copyNURBS, Gtk::PACK_SHRINK, 0);
|
NURBSbbox->pack_end (*copyNURBS, Gtk::PACK_SHRINK, 0);
|
||||||
|
NURBSbbox->pack_end (*saveNURBS, Gtk::PACK_SHRINK, 0);
|
||||||
|
NURBSbbox->pack_end (*loadNURBS, Gtk::PACK_SHRINK, 0);
|
||||||
|
|
||||||
NURBSCurveBox->pack_end (*NURBSbbox, Gtk::PACK_SHRINK, 0);
|
NURBSCurveBox->pack_end (*NURBSbbox, Gtk::PACK_SHRINK, 0);
|
||||||
NURBSCurveBox->show_all ();
|
NURBSCurveBox->show_all ();
|
||||||
@@ -125,37 +124,33 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt)
|
|||||||
// parametric curve
|
// parametric curve
|
||||||
paramCurveBox = new Gtk::VBox ();
|
paramCurveBox = new Gtk::VBox ();
|
||||||
paramCurveBox->set_spacing(4);
|
paramCurveBox->set_spacing(4);
|
||||||
paramInnerBox = new Gtk::HBox ();
|
|
||||||
paramInnerBox->set_spacing(4);
|
|
||||||
|
|
||||||
paramCurve = Gtk::manage (new MyDiagonalCurve ());
|
paramCurve = Gtk::manage (new MyDiagonalCurve ());
|
||||||
Gtk::Table* paramctab = Gtk::manage (new Gtk::Table (2,1));
|
|
||||||
paramCurve->set_size_request (GRAPH_SIZE+2*RADIUS, GRAPH_SIZE+2*RADIUS);
|
paramCurve->set_size_request (GRAPH_SIZE+2*RADIUS, GRAPH_SIZE+2*RADIUS);
|
||||||
paramCurve->setType (DCT_Parametric);
|
paramCurve->setType (DCT_Parametric);
|
||||||
|
|
||||||
shcSelector = Gtk::manage (new SHCSelector ());
|
shcSelector = Gtk::manage (new SHCSelector ());
|
||||||
shcSelector->set_size_request (GRAPH_SIZE, 20);
|
shcSelector->set_size_request (GRAPH_SIZE-100, 20); // width, height
|
||||||
|
//* shcSelector->set_size_request ((GRAPH_SIZE+2*RADIUS)-20, 20);
|
||||||
|
|
||||||
paramctab->attach (*paramCurve, 0, 1, 0, 1, Gtk::FILL, Gtk::SHRINK, 0, 0);
|
paramCurveBox->pack_start (*paramCurve, Gtk::PACK_EXPAND_WIDGET, 0);
|
||||||
paramctab->attach (*shcSelector, 0, 1, 1, 2, Gtk::FILL, Gtk::SHRINK, RADIUS, 0);
|
paramCurveBox->pack_start (*shcSelector, Gtk::PACK_EXPAND_WIDGET, 0);
|
||||||
|
|
||||||
paramInnerBox->pack_start (*paramctab, Gtk::PACK_EXPAND_WIDGET, 0);
|
Gtk::HBox* Parambbox = Gtk::manage (new Gtk::HBox ());
|
||||||
|
|
||||||
Gtk::VBox* Parambbox = Gtk::manage (new Gtk::VBox ());
|
|
||||||
Parambbox->set_spacing(4);
|
Parambbox->set_spacing(4);
|
||||||
saveParam = Gtk::manage (new Gtk::Button ());
|
|
||||||
saveParam->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-save"), Gtk::ICON_SIZE_BUTTON)));
|
|
||||||
loadParam = Gtk::manage (new Gtk::Button ());
|
|
||||||
loadParam->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-open"), Gtk::ICON_SIZE_BUTTON)));
|
|
||||||
pasteParam = Gtk::manage (new Gtk::Button ());
|
pasteParam = Gtk::manage (new Gtk::Button ());
|
||||||
pasteParam->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-paste"), Gtk::ICON_SIZE_BUTTON)));
|
pasteParam->add (*Gtk::manage (new RTImage ("edit-paste.png")));
|
||||||
copyParam = Gtk::manage (new Gtk::Button ());
|
copyParam = Gtk::manage (new Gtk::Button ());
|
||||||
copyParam->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-copy"), Gtk::ICON_SIZE_BUTTON)));
|
copyParam->add (*Gtk::manage (new RTImage ("edit-copy.png")));
|
||||||
|
saveParam = Gtk::manage (new Gtk::Button ());
|
||||||
|
saveParam->add (*Gtk::manage (new RTImage ("gtk-save-large.png")));
|
||||||
|
loadParam = Gtk::manage (new Gtk::Button ());
|
||||||
|
loadParam->add (*Gtk::manage (new RTImage ("gtk-open.png")));
|
||||||
|
|
||||||
Parambbox->pack_end (*saveParam, Gtk::PACK_SHRINK, 0);
|
|
||||||
Parambbox->pack_end (*loadParam, Gtk::PACK_SHRINK, 0);
|
|
||||||
Parambbox->pack_end (*pasteParam, Gtk::PACK_SHRINK, 0);
|
Parambbox->pack_end (*pasteParam, Gtk::PACK_SHRINK, 0);
|
||||||
Parambbox->pack_end (*copyParam, Gtk::PACK_SHRINK, 0);
|
Parambbox->pack_end (*copyParam, Gtk::PACK_SHRINK, 0);
|
||||||
|
Parambbox->pack_end (*saveParam, Gtk::PACK_SHRINK, 0);
|
||||||
|
Parambbox->pack_end (*loadParam, Gtk::PACK_SHRINK, 0);
|
||||||
|
|
||||||
saveParam->signal_clicked().connect( sigc::mem_fun(*this, &DiagonalCurveEditorSubGroup::savePressed) );
|
saveParam->signal_clicked().connect( sigc::mem_fun(*this, &DiagonalCurveEditorSubGroup::savePressed) );
|
||||||
loadParam->signal_clicked().connect( sigc::mem_fun(*this, &DiagonalCurveEditorSubGroup::loadPressed) );
|
loadParam->signal_clicked().connect( sigc::mem_fun(*this, &DiagonalCurveEditorSubGroup::loadPressed) );
|
||||||
@@ -167,9 +162,8 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt)
|
|||||||
pasteParam->set_tooltip_text (M("CURVEEDITOR_TOOLTIPPASTE"));
|
pasteParam->set_tooltip_text (M("CURVEEDITOR_TOOLTIPPASTE"));
|
||||||
copyParam->set_tooltip_text (M("CURVEEDITOR_TOOLTIPCOPY"));
|
copyParam->set_tooltip_text (M("CURVEEDITOR_TOOLTIPCOPY"));
|
||||||
|
|
||||||
paramInnerBox->pack_start (*Parambbox, Gtk::PACK_EXPAND_WIDGET, 0);
|
paramCurveBox->set_spacing(4);
|
||||||
|
paramCurveBox->pack_end (*Parambbox, Gtk::PACK_EXPAND_WIDGET, 0);
|
||||||
paramCurveBox->pack_start (*paramInnerBox, Gtk::PACK_SHRINK, 0);
|
|
||||||
|
|
||||||
highlights = Gtk::manage (new Adjuster (M("CURVEEDITOR_HIGHLIGHTS"), -100, 100, 1, 0));
|
highlights = Gtk::manage (new Adjuster (M("CURVEEDITOR_HIGHLIGHTS"), -100, 100, 1, 0));
|
||||||
lights = Gtk::manage (new Adjuster (M("CURVEEDITOR_LIGHTS"), -100, 100, 1, 0));
|
lights = Gtk::manage (new Adjuster (M("CURVEEDITOR_LIGHTS"), -100, 100, 1, 0));
|
||||||
@@ -186,7 +180,6 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt)
|
|||||||
evdarks->add (*darks);
|
evdarks->add (*darks);
|
||||||
evshadows->add (*shadows);
|
evshadows->add (*shadows);
|
||||||
|
|
||||||
paramCurveBox->pack_start (*Gtk::manage (new Gtk::HSeparator ()));
|
|
||||||
paramCurveBox->pack_start (*evhighlights);
|
paramCurveBox->pack_start (*evhighlights);
|
||||||
paramCurveBox->pack_start (*evlights);
|
paramCurveBox->pack_start (*evlights);
|
||||||
paramCurveBox->pack_start (*evdarks);
|
paramCurveBox->pack_start (*evdarks);
|
||||||
@@ -228,7 +221,6 @@ DiagonalCurveEditorSubGroup::~DiagonalCurveEditorSubGroup() {
|
|||||||
delete customCurveBox;
|
delete customCurveBox;
|
||||||
delete paramCurveBox;
|
delete paramCurveBox;
|
||||||
delete NURBSCurveBox;
|
delete NURBSCurveBox;
|
||||||
delete paramInnerBox;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -29,14 +29,13 @@ class DiagonalCurveEditorSubGroup : public CurveEditorSubGroup, public SHCListen
|
|||||||
friend class DiagonalCurveEditor;
|
friend class DiagonalCurveEditor;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Gtk::HBox* customCurveBox;
|
Gtk::VBox* customCurveBox;
|
||||||
|
Gtk::VBox* NURBSCurveBox;
|
||||||
Gtk::VBox* paramCurveBox;
|
Gtk::VBox* paramCurveBox;
|
||||||
Gtk::HBox* paramInnerBox;
|
|
||||||
Gtk::HBox* NURBSCurveBox;
|
|
||||||
|
|
||||||
MyDiagonalCurve* customCurve;
|
MyDiagonalCurve* customCurve;
|
||||||
MyDiagonalCurve* paramCurve;
|
|
||||||
MyDiagonalCurve* NURBSCurve;
|
MyDiagonalCurve* NURBSCurve;
|
||||||
|
MyDiagonalCurve* paramCurve;
|
||||||
|
|
||||||
SHCSelector* shcSelector;
|
SHCSelector* shcSelector;
|
||||||
Adjuster* highlights;
|
Adjuster* highlights;
|
||||||
|
@@ -55,7 +55,7 @@ bool SHCSelector::on_expose_event(GdkEventExpose* event) {
|
|||||||
|
|
||||||
Cairo::RefPtr<Cairo::Context> cr = get_window()->create_cairo_context();
|
Cairo::RefPtr<Cairo::Context> cr = get_window()->create_cairo_context();
|
||||||
|
|
||||||
int w = get_width ();
|
int w = get_width () - RADIUS*2;
|
||||||
int h = get_height ();
|
int h = get_height ();
|
||||||
|
|
||||||
wslider = h *2.0 / 5.0;
|
wslider = h *2.0 / 5.0;
|
||||||
@@ -75,7 +75,7 @@ bool SHCSelector::on_expose_event(GdkEventExpose* event) {
|
|||||||
|
|
||||||
cr->set_line_width (1.0);
|
cr->set_line_width (1.0);
|
||||||
cr->set_source (bggradient);
|
cr->set_source (bggradient);
|
||||||
cr->rectangle (0.5, h*2.0/7.0 + 0.5, w-0.5, h*3.0/7.0-0.5);
|
cr->rectangle (0.5+RADIUS, h*2.0/7.0 + 0.5, w-0.5, h*3.0/7.0-0.5);
|
||||||
cr->fill_preserve();
|
cr->fill_preserve();
|
||||||
cr->set_source_rgb (fgc.get_red_p(), fgc.get_green_p(), fgc.get_blue_p());
|
cr->set_source_rgb (fgc.get_red_p(), fgc.get_green_p(), fgc.get_blue_p());
|
||||||
cr->stroke ();
|
cr->stroke ();
|
||||||
@@ -83,12 +83,12 @@ bool SHCSelector::on_expose_event(GdkEventExpose* event) {
|
|||||||
// draw sliders
|
// draw sliders
|
||||||
cr->set_line_width (1.0);
|
cr->set_line_width (1.0);
|
||||||
for (int i=0; i<3; i++) {
|
for (int i=0; i<3; i++) {
|
||||||
cr->move_to (w*positions[i]-wslider/2+0.5, h-0.5);
|
cr->move_to (RADIUS+w*positions[i]-wslider/2+0.5, h-0.5);
|
||||||
cr->line_to (w*positions[i]-wslider/2+0.5, wslider/2 + 0.5);
|
cr->line_to (RADIUS+w*positions[i]-wslider/2+0.5, wslider/2 + 0.5);
|
||||||
cr->line_to (w*positions[i], 0.5);
|
cr->line_to (RADIUS+w*positions[i], 0.5);
|
||||||
cr->line_to (w*positions[i]+wslider/2-0.5, wslider/2 + 0.5);
|
cr->line_to (RADIUS+w*positions[i]+wslider/2-0.5, wslider/2 + 0.5);
|
||||||
cr->line_to (w*positions[i]+wslider/2-0.5, h-0.5);
|
cr->line_to (RADIUS+w*positions[i]+wslider/2-0.5, h-0.5);
|
||||||
cr->line_to (w*positions[i]-wslider/2+0.5, h-0.5);
|
cr->line_to (RADIUS+w*positions[i]-wslider/2+0.5, h-0.5);
|
||||||
cr->set_source_rgb (bgc.get_red_p(), bgc.get_green_p(), bgc.get_blue_p());
|
cr->set_source_rgb (bgc.get_red_p(), bgc.get_green_p(), bgc.get_blue_p());
|
||||||
cr->fill_preserve ();
|
cr->fill_preserve ();
|
||||||
cr->set_source_rgb (fgc.get_red_p(), fgc.get_green_p(), fgc.get_blue_p());
|
cr->set_source_rgb (fgc.get_red_p(), fgc.get_green_p(), fgc.get_blue_p());
|
||||||
@@ -105,17 +105,17 @@ bool SHCSelector::on_expose_event(GdkEventExpose* event) {
|
|||||||
Glib::RefPtr<Pango::Layout> layout = create_pango_layout(Glib::ustring::format(std::setprecision(2), positions[i]));
|
Glib::RefPtr<Pango::Layout> layout = create_pango_layout(Glib::ustring::format(std::setprecision(2), positions[i]));
|
||||||
layout->get_pixel_size(layout_width, layout_height);
|
layout->get_pixel_size(layout_width, layout_height);
|
||||||
offset = positions[i] > 0.5 ? -layout_width-1-wslider/2 : 1+wslider/2;
|
offset = positions[i] > 0.5 ? -layout_width-1-wslider/2 : 1+wslider/2;
|
||||||
cr->move_to (w*positions[i]+offset-0.5, 0);
|
cr->move_to (RADIUS+w*positions[i]+offset-0.5, 0);
|
||||||
cr->set_source_rgb (bgc.get_red_p(), bgc.get_green_p(), bgc.get_blue_p());
|
cr->set_source_rgb (bgc.get_red_p(), bgc.get_green_p(), bgc.get_blue_p());
|
||||||
layout->add_to_cairo_context (cr);
|
layout->add_to_cairo_context (cr);
|
||||||
cr->fill_preserve ();
|
cr->fill_preserve ();
|
||||||
cr->stroke ();
|
cr->stroke ();
|
||||||
cr->move_to (w*positions[i]+offset+0.5, 1);
|
cr->move_to (RADIUS+w*positions[i]+offset+0.5, 1);
|
||||||
layout->add_to_cairo_context (cr);
|
layout->add_to_cairo_context (cr);
|
||||||
cr->fill_preserve ();
|
cr->fill_preserve ();
|
||||||
cr->stroke ();
|
cr->stroke ();
|
||||||
cr->set_source_rgb (fgc.get_red_p(), fgc.get_green_p(), fgc.get_blue_p());
|
cr->set_source_rgb (fgc.get_red_p(), fgc.get_green_p(), fgc.get_blue_p());
|
||||||
cr->move_to (w*positions[i]+offset, 0.5);
|
cr->move_to (RADIUS+w*positions[i]+offset, 0.5);
|
||||||
layout->add_to_cairo_context (cr);
|
layout->add_to_cairo_context (cr);
|
||||||
cr->fill_preserve ();
|
cr->fill_preserve ();
|
||||||
cr->stroke ();
|
cr->stroke ();
|
||||||
|
Reference in New Issue
Block a user