diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-07-11 09:07:52 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-09-27 14:59:31 -0500 |
commit | 4cc71d296673bddb64043dff2d27c2f30d9aff0f (patch) | |
tree | 83559cc95d82684674a800744127666fc553081e /libs/surfaces/push2/utils.cc | |
parent | 79025e8c420dbc4b2b28686a435c9e7f321520d8 (diff) |
push2: parameterize and centralize colors
Diffstat (limited to 'libs/surfaces/push2/utils.cc')
-rw-r--r-- | libs/surfaces/push2/utils.cc | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/libs/surfaces/push2/utils.cc b/libs/surfaces/push2/utils.cc new file mode 100644 index 0000000000..6227491a2f --- /dev/null +++ b/libs/surfaces/push2/utils.cc @@ -0,0 +1,43 @@ +/* + Copyright (C) 2016 Paul Davis + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include <cairomm/context.h> + +#include "gtkmm2ext/rgb_macros.h" + +#include "utils.h" + +void +set_source_rgba (Cairo::RefPtr<Cairo::Context> context, uint32_t col, bool with_alpha) +{ + int r, g, b, a; + + UINT_TO_RGBA (col, &r, &g, &b, &a); + + if (with_alpha) { + context->set_source_rgba (r/255.0, g/255.0, b/255.0, a/255.0); + } else { + context->set_source_rgb (r/255.0, g/255.0, b/255.0); + } +} + +void +set_source_rgb (Cairo::RefPtr<Cairo::Context> context, uint32_t color) +{ + set_source_rgba (context, color, false); +} |