source: mainline/uspace/lib/ui/private/resource.h@ 4583015

ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 4583015 was 6df564c, checked in by Jiri Svoboda <jiri@…>, 4 years ago

Custom colors for selected text in text entry

In text mode, swapping 'background' and 'text' color does not work,
they are the same. Looks better in graphics mode, too.

  • Property mode set to 100644
File size: 3.7 KB
Line 
1/*
2 * Copyright (c) 2021 Jiri Svoboda
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * - Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * - Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * - The name of the author may not be used to endorse or promote products
15 * derived from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29/** @addtogroup libui
30 * @{
31 */
32/**
33 * @file Resource structure
34 *
35 */
36
37#ifndef _UI_PRIVATE_RESOURCE_H
38#define _UI_PRIVATE_RESOURCE_H
39
40#include <gfx/color.h>
41#include <gfx/context.h>
42#include <gfx/font.h>
43#include <gfx/typeface.h>
44#include <stdbool.h>
45#include <types/ui/resource.h>
46
47/** Actual structure of UI resources.
48 *
49 * Contains resources common accross the entire UI. This is private to libui.
50 */
51struct ui_resource {
52 /** Graphic context */
53 gfx_context_t *gc;
54 /** Typeface */
55 gfx_typeface_t *tface;
56 /** Font */
57 gfx_font_t *font;
58 /** Text mode */
59 bool textmode;
60
61 /** UI background color */
62 gfx_color_t *ui_bg_color;
63
64 /** Button frame color */
65 gfx_color_t *btn_frame_color;
66 /** Button face color */
67 gfx_color_t *btn_face_color;
68 /** Button text color */
69 gfx_color_t *btn_text_color;
70 /** Button highlight color */
71 gfx_color_t *btn_highlight_color;
72 /** Button shadow color */
73 gfx_color_t *btn_shadow_color;
74
75 /** Window face color */
76 gfx_color_t *wnd_face_color;
77 /** Window text color */
78 gfx_color_t *wnd_text_color;
79 /** Window selected text color */
80 gfx_color_t *wnd_sel_text_color;
81 /** Window selected text background color */
82 gfx_color_t *wnd_sel_text_bg_color;
83 /** Window frame hightlight color */
84 gfx_color_t *wnd_frame_hi_color;
85 /** Window frame shadow color */
86 gfx_color_t *wnd_frame_sh_color;
87 /** Window highlight color */
88 gfx_color_t *wnd_highlight_color;
89 /** Window shadow color */
90 gfx_color_t *wnd_shadow_color;
91
92 /** Active titlebar background color */
93 gfx_color_t *tbar_act_bg_color;
94 /** Active titlebar text color */
95 gfx_color_t *tbar_act_text_color;
96 /** Inactive titlebar background color */
97 gfx_color_t *tbar_inact_bg_color;
98 /** Inactive titlebar text color */
99 gfx_color_t *tbar_inact_text_color;
100
101 /** Entry (text entry, checkbox, radio button) foreground color */
102 gfx_color_t *entry_fg_color;
103 /** Entry (text entry, checkbox, raido button) background color */
104 gfx_color_t *entry_bg_color;
105 /** Entry (text entry, checkbox, raido button) active background color */
106 gfx_color_t *entry_act_bg_color;
107 /** Entry selected text foreground color */
108 gfx_color_t *entry_sel_text_fg_color;
109 /** Entry selected text background color */
110 gfx_color_t *entry_sel_text_bg_color;
111
112 /** Expose callback or @c NULL */
113 ui_expose_cb_t expose_cb;
114 /** Expose callback argument */
115 void *expose_arg;
116};
117
118#endif
119
120/** @}
121 */
Note: See TracBrowser for help on using the repository browser.