parent
ca0d07f04f
commit
c15aa20087
25 changed files with 123 additions and 41 deletions
@ -0,0 +1,34 @@ |
||||
#include "GtkColorWrapper.h" |
||||
|
||||
GtkColorWrapper::GtkColorWrapper() : red(0), green(0), blue(0) |
||||
{ |
||||
XOJ_INIT_TYPE(GtkColorWrapper); |
||||
} |
||||
|
||||
GtkColorWrapper::GtkColorWrapper(const GdkColor& color) : red(color.red), green(color.green), blue(color.blue) |
||||
{ |
||||
XOJ_INIT_TYPE(GtkColorWrapper); |
||||
} |
||||
|
||||
GtkColorWrapper::~GtkColorWrapper() |
||||
{ |
||||
XOJ_RELEASE_TYPE(GtkColorWrapper); |
||||
} |
||||
|
||||
/**
|
||||
* Apply the color to a cairo interface with "cairo_set_source_rgb" |
||||
*/ |
||||
void GtkColorWrapper::apply(cairo_t* cr) |
||||
{ |
||||
XOJ_CHECK_TYPE(GtkColorWrapper); |
||||
cairo_set_source_rgb(cr, red / 65536.0, green / 65536.0, blue / 65536.0); |
||||
} |
||||
|
||||
/**
|
||||
* Apply the color to a cairo interface with "cairo_set_source_rgba" and a specified alpha value |
||||
*/ |
||||
void GtkColorWrapper::applyWithAlpha(cairo_t* cr, double alpha) |
||||
{ |
||||
XOJ_CHECK_TYPE(GtkColorWrapper); |
||||
cairo_set_source_rgba(cr, red / 65536.0, green / 65536.0, blue / 65536.0, alpha); |
||||
} |
||||
@ -0,0 +1,45 @@ |
||||
/*
|
||||
* Xournal++ |
||||
* |
||||
* Helper functions to wrap GdkColor/GdkRGBA color types used by GTK2 / GTK3 |
||||
* |
||||
* @author Xournal++ Team |
||||
* https://github.com/xournalpp/xournalpp
|
||||
* |
||||
* @license GNU GPLv2 or later |
||||
*/ |
||||
|
||||
#pragma once |
||||
|
||||
#include <gdk/gdk.h> |
||||
#include <XournalType.h> |
||||
#include <cairo.h> |
||||
|
||||
class GtkColorWrapper |
||||
{ |
||||
public: |
||||
GtkColorWrapper(); |
||||
GtkColorWrapper(const GdkColor& color); |
||||
virtual ~GtkColorWrapper(); |
||||
|
||||
public: |
||||
/**
|
||||
* Apply the color to a cairo interface with "cairo_set_source_rgb" |
||||
*/ |
||||
void apply(cairo_t* cr); |
||||
|
||||
/**
|
||||
* Apply the color to a cairo interface with "cairo_set_source_rgba" and a specified alpha value |
||||
*/ |
||||
void applyWithAlpha(cairo_t* cr, double alpha); |
||||
|
||||
private: |
||||
XOJ_TYPE_ATTRIB; |
||||
|
||||
/**
|
||||
* Color values, 0-65535 |
||||
*/ |
||||
guint16 red; |
||||
guint16 green; |
||||
guint16 blue; |
||||
}; |
||||
Loading…
Reference in new issue