NeoMutt  2024-12-12-14-g7b49f7
Teaching an old dog new tricks
DOXYGEN
Loading...
Searching...
No Matches
simple2.h File Reference

Simple colour. More...

#include "config.h"
#include <stdbool.h>
#include "color.h"
+ Include dependency graph for simple2.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void simple_colors_init (void)
 Initialise the simple colour definitions.
 
void simple_colors_reset (void)
 Reset the simple colour definitions.
 
void simple_colors_cleanup (void)
 Cleanup the simple colour definitions.
 
struct AttrColorsimple_color_get (enum ColorId cid)
 Get the colour of an object by its ID.
 
bool simple_color_is_set (enum ColorId cid)
 Is the object coloured?
 
void simple_color_reset (enum ColorId cid)
 Clear the colour of a simple object.
 
struct AttrColorsimple_color_set (enum ColorId cid, struct AttrColor *ac_val)
 Set the colour of a simple object.
 

Detailed Description

Simple colour.

Authors
  • Richard Russon

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, see http://www.gnu.org/licenses/.

Definition in file simple2.h.

Function Documentation

◆ simple_colors_init()

void simple_colors_init ( void  )

Initialise the simple colour definitions.

Definition at line 47 of file simple.c.

48{
49 for (int i = 0; i < MT_COLOR_MAX; i++)
50 {
53 }
54
55 // Set some defaults
56 color_debug(LL_DEBUG5, "init indicator, markers, etc\n");
65}
struct AttrColor SimpleColors[MT_COLOR_MAX]
Array of Simple colours.
Definition: simple.c:42
#define COLOR_DEFAULT
Definition: color.h:96
@ MT_COLOR_MARKERS
Pager: markers, line continuation.
Definition: color.h:52
@ MT_COLOR_MAX
Definition: color.h:90
@ MT_COLOR_STATUS
Status bar (takes a pattern)
Definition: color.h:71
@ MT_COLOR_INDICATOR
Selected item in list.
Definition: color.h:50
@ MT_COLOR_STRIPE_EVEN
Stripes: even lines of the Help Page.
Definition: color.h:72
@ MT_COLOR_BOLD
Bold text.
Definition: color.h:41
@ MT_COLOR_SEARCH
Pager: search matches.
Definition: color.h:60
@ MT_COLOR_ITALIC
Italic text.
Definition: color.h:51
@ MT_COLOR_UNDERLINE
Underlined text.
Definition: color.h:76
static int color_debug(enum LogLevel level, const char *format,...)
Definition: debug.h:52
@ LL_DEBUG5
Log at debug level 5.
Definition: logging2.h:47
#define A_ITALIC
Definition: mutt_curses.h:49
struct ColorElement bg
Background colour.
Definition: attr.h:68
struct ColorElement fg
Foreground colour.
Definition: attr.h:67
int attrs
Text attributes, e.g. A_BOLD.
Definition: attr.h:69
color_t color
Colour.
Definition: attr.h:57
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ simple_colors_reset()

void simple_colors_reset ( void  )

Reset the simple colour definitions.

Definition at line 70 of file simple.c.

71{
72 color_debug(LL_DEBUG5, "reset defs\n");
73 for (size_t i = 0; i < MT_COLOR_MAX; i++)
74 {
76 }
78}
void attr_color_clear(struct AttrColor *ac)
Free the contents of an AttrColor.
Definition: attr.c:48
void simple_colors_init(void)
Initialise the simple colour definitions.
Definition: simple.c:47
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ simple_colors_cleanup()

void simple_colors_cleanup ( void  )

Cleanup the simple colour definitions.

Definition at line 83 of file simple.c.

84{
86}
void simple_colors_reset(void)
Reset the simple colour definitions.
Definition: simple.c:70
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ simple_color_get()

struct AttrColor * simple_color_get ( enum ColorId  cid)

Get the colour of an object by its ID.

Parameters
cidColour Id, e.g. MT_COLOR_SEARCH
Return values
ptrAttrColor of the object
Note
Do not free the returned object

Definition at line 95 of file simple.c.

96{
97 if (cid >= MT_COLOR_MAX)
98 {
99 mutt_debug(LL_DEBUG1, "color overflow %d/%d", cid, MT_COLOR_MAX);
100 return NULL;
101 }
102 if (cid <= MT_COLOR_NONE)
103 {
104 mutt_debug(LL_DEBUG1, "color underflow %d/%d", cid, MT_COLOR_NONE);
105 return NULL;
106 }
107
108 return &SimpleColors[cid];
109}
@ MT_COLOR_NONE
No colour.
Definition: color.h:37
#define mutt_debug(LEVEL,...)
Definition: logging2.h:89
@ LL_DEBUG1
Log at debug level 1.
Definition: logging2.h:43
+ Here is the caller graph for this function:

◆ simple_color_is_set()

bool simple_color_is_set ( enum ColorId  cid)

Is the object coloured?

Parameters
cidColour Id, e.g. MT_COLOR_SEARCH
Return values
trueYes, a 'color' command has been used on this object

Definition at line 116 of file simple.c.

117{
119}
bool attr_color_is_set(const struct AttrColor *ac)
Is the object coloured?
Definition: attr.c:179
struct AttrColor * simple_color_get(enum ColorId cid)
Get the colour of an object by its ID.
Definition: simple.c:95
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ simple_color_reset()

void simple_color_reset ( enum ColorId  cid)

Clear the colour of a simple object.

Parameters
cidColour Id, e.g. MT_COLOR_SEARCH

Definition at line 150 of file simple.c.

151{
152 struct AttrColor *ac = simple_color_get(cid);
153 if (!ac)
154 return;
155
156 struct Buffer *buf = buf_pool_get();
157 get_colorid_name(cid, buf);
158 color_debug(LL_DEBUG5, "NT_COLOR_RESET: %s\n", buf->data);
159 buf_pool_release(&buf);
160
162
163 struct EventColor ev_c = { cid, ac };
165}
void get_colorid_name(unsigned int cid, struct Buffer *buf)
Get the name of a color id.
Definition: command.c:128
struct Notify * ColorsNotify
Notifications: ColorId, EventColor.
Definition: notify.c:36
bool notify_send(struct Notify *notify, enum NotifyType event_type, int event_subtype, void *event_data)
Send out a notification message.
Definition: notify.c:173
@ NT_COLOR_RESET
Color has been reset/removed.
Definition: notify2.h:44
@ NT_COLOR
Colour has changed, NotifyColor, EventColor.
Definition: notify_type.h:41
struct Buffer * buf_pool_get(void)
Get a Buffer from the pool.
Definition: pool.c:82
void buf_pool_release(struct Buffer **ptr)
Return a Buffer to the pool.
Definition: pool.c:96
A curses colour and its attributes.
Definition: attr.h:66
String manipulation buffer.
Definition: buffer.h:36
char * data
Pointer to data.
Definition: buffer.h:37
An Event that happened to a Colour.
Definition: notify2.h:55
enum ColorId cid
Colour ID that has changed.
Definition: notify2.h:56
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ simple_color_set()

struct AttrColor * simple_color_set ( enum ColorId  cid,
struct AttrColor ac_val 
)

Set the colour of a simple object.

Parameters
cidColour Id, e.g. MT_COLOR_SEARCH
ac_valColour value to use
Return values
ptrColour

Definition at line 127 of file simple.c.

128{
129 struct AttrColor *ac = simple_color_get(cid);
130 if (!ac)
131 return NULL;
132
133 attr_color_overwrite(ac, ac_val);
134
135 struct Buffer *buf = buf_pool_get();
136 get_colorid_name(cid, buf);
137 color_debug(LL_DEBUG5, "NT_COLOR_SET: %s\n", buf->data);
138 buf_pool_release(&buf);
139
140 struct EventColor ev_c = { cid, NULL };
142
143 return ac;
144}
void attr_color_overwrite(struct AttrColor *ac_old, struct AttrColor *ac_new)
Update an AttrColor in-place.
Definition: attr.c:395
@ NT_COLOR_SET
Color has been set.
Definition: notify2.h:43
+ Here is the call graph for this function:
+ Here is the caller graph for this function: