15#include <glibmm/ustring.h>
16#include <gtkmm/enums.h>
17#include <gtkmm/menubutton.h>
18#include <gtkmm/cssprovider.h>
19#include <gtkmm/widget.h>
34 Glib::ustring
const &tip,
37 bool use_transparency)
39 , _title(
std::move(title))
41 , _colors(
std::make_shared<Colors::
ColorSet>(nullptr, use_transparency))
45 set_tooltip_text(tip);
53 Glib::ustring title,
bool use_transparency)
54 :
Gtk::MenuButton(cobject)
56 , _title(
std::move(title))
57 , _colors(
std::make_shared<Colors::
ColorSet>(nullptr, use_transparency))
65 auto height = button.measure(Gtk::Orientation::VERTICAL).sizes.minimum;
66 set_name(
"ColorPicker");
73 _popup.signal_show().connect([
this](){
121 if (
_undo && SP_ACTIVE_DESKTOP) {
135 bool has_alpha =
_colors->getAlphaConstraint().value_or(
true);
void undo(SPDocument *document)
uint32_t toRGBA(double opacity=1.0) const
Return an sRGB conversion of the color in RGBA int32 format.
static void done(SPDocument *document, Glib::ustring const &event_description, Glib::ustring const &undo_icon, unsigned int object_modified_tag=0)
A notebook with RGB, CMYK, CMS, HSL, and Wheel pages.
Color picker button and window.
Editable view implementation.
TODO: insert short description here.
void restrict_minsize_to_square(Gtk::Widget &widget, int min_size_px)