mirror of
https://github.com/netsurf-browser/netsurf
synced 2025-01-03 09:44:24 +03:00
move framebuffer to new options API
This commit is contained in:
parent
429a30caa7
commit
df62a917da
@ -138,7 +138,7 @@ $(eval $(foreach V,$(filter FB_IMAGE_%,$(.VARIABLES)),$(call convert_image,$($(V
|
|||||||
# S_FRAMEBUFFER are sources purely for the framebuffer build
|
# S_FRAMEBUFFER are sources purely for the framebuffer build
|
||||||
S_FRAMEBUFFER := gui.c framebuffer.c tree.c schedule.c \
|
S_FRAMEBUFFER := gui.c framebuffer.c tree.c schedule.c \
|
||||||
thumbnail.c misc.c bitmap.c filetype.c login.c findfile.c \
|
thumbnail.c misc.c bitmap.c filetype.c login.c findfile.c \
|
||||||
localhistory.c system_colour.c clipboard.c
|
localhistory.c clipboard.c
|
||||||
|
|
||||||
S_FRAMEBUFFER_FBTK := fbtk.c event.c fill.c bitmap.c user.c window.c \
|
S_FRAMEBUFFER_FBTK := fbtk.c event.c fill.c bitmap.c user.c window.c \
|
||||||
text.c scroll.c osk.c
|
text.c scroll.c osk.c
|
||||||
|
@ -476,45 +476,57 @@ process_cmdline(int argc, char** argv)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Documented in utils/nsoption.h */
|
/**
|
||||||
void gui_options_init_defaults(void)
|
* Set option defaults for framebuffer frontend
|
||||||
|
*
|
||||||
|
* @param defaults The option table to update.
|
||||||
|
* @return error status.
|
||||||
|
*/
|
||||||
|
static nserror set_defaults(struct nsoption_s *defaults)
|
||||||
{
|
{
|
||||||
/* Set defaults for absent option strings */
|
/* Set defaults for absent option strings */
|
||||||
nsoption_setnull_charp(cookie_file, strdup("~/.netsurf/Cookies"));
|
nsoption_setnull_charp(cookie_file, strdup("~/.netsurf/Cookies"));
|
||||||
nsoption_setnull_charp(cookie_jar, strdup("~/.netsurf/Cookies"));
|
nsoption_setnull_charp(cookie_jar, strdup("~/.netsurf/Cookies"));
|
||||||
|
|
||||||
if (nsoption_charp(cookie_file) == NULL ||
|
if (nsoption_charp(cookie_file) == NULL ||
|
||||||
nsoption_charp(cookie_jar == NULL)) {
|
nsoption_charp(cookie_jar) == NULL) {
|
||||||
die("Failed initialising cookie options");
|
LOG(("Failed initialising cookie options"));
|
||||||
|
return NSERROR_BAD_PARAMETER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* set system colours for framebuffer ui */
|
||||||
|
nsoption_set_colour(sys_colour_ActiveBorder, 0x00000000);
|
||||||
|
nsoption_set_colour(sys_colour_ActiveCaption, 0x00ddddcc);
|
||||||
|
nsoption_set_colour(sys_colour_AppWorkspace, 0x00eeeeee);
|
||||||
|
nsoption_set_colour(sys_colour_Background, 0x00aa0000);
|
||||||
|
nsoption_set_colour(sys_colour_ButtonFace, 0x00dddddd);
|
||||||
|
nsoption_set_colour(sys_colour_ButtonHighlight, 0x00cccccc);
|
||||||
|
nsoption_set_colour(sys_colour_ButtonShadow, 0x00bbbbbb);
|
||||||
|
nsoption_set_colour(sys_colour_ButtonText, 0x00000000);
|
||||||
|
nsoption_set_colour(sys_colour_CaptionText, 0x00000000);
|
||||||
|
nsoption_set_colour(sys_colour_GrayText, 0x00777777);
|
||||||
|
nsoption_set_colour(sys_colour_Highlight, 0x00ee0000);
|
||||||
|
nsoption_set_colour(sys_colour_HighlightText, 0x00000000);
|
||||||
|
nsoption_set_colour(sys_colour_InactiveBorder, 0x00000000);
|
||||||
|
nsoption_set_colour(sys_colour_InactiveCaption, 0x00ffffff);
|
||||||
|
nsoption_set_colour(sys_colour_InactiveCaptionText, 0x00cccccc);
|
||||||
|
nsoption_set_colour(sys_colour_InfoBackground, 0x00aaaaaa);
|
||||||
|
nsoption_set_colour(sys_colour_InfoText, 0x00000000);
|
||||||
|
nsoption_set_colour(sys_colour_Menu, 0x00aaaaaa);
|
||||||
|
nsoption_set_colour(sys_colour_MenuText, 0x00000000);
|
||||||
|
nsoption_set_colour(sys_colour_Scrollbar, 0x00aaaaaa);
|
||||||
|
nsoption_set_colour(sys_colour_ThreeDDarkShadow, 0x00555555);
|
||||||
|
nsoption_set_colour(sys_colour_ThreeDFace, 0x00dddddd);
|
||||||
|
nsoption_set_colour(sys_colour_ThreeDHighlight, 0x00aaaaaa);
|
||||||
|
nsoption_set_colour(sys_colour_ThreeDLightShadow, 0x00999999);
|
||||||
|
nsoption_set_colour(sys_colour_ThreeDShadow, 0x00777777);
|
||||||
|
nsoption_set_colour(sys_colour_Window, 0x00aaaaaa);
|
||||||
|
nsoption_set_colour(sys_colour_WindowFrame, 0x00000000);
|
||||||
|
nsoption_set_colour(sys_colour_WindowText, 0x00000000);
|
||||||
|
|
||||||
|
return NSERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
gui_init(int argc, char** argv)
|
|
||||||
{
|
|
||||||
nsfb_t *nsfb;
|
|
||||||
|
|
||||||
/* Override, since we have no support for non-core SELECT menu */
|
|
||||||
nsoption_set_bool(core_select_menu, true);
|
|
||||||
|
|
||||||
if (process_cmdline(argc,argv) != true)
|
|
||||||
die("unable to process command line.\n");
|
|
||||||
|
|
||||||
nsfb = framebuffer_initialise(fename, fewidth, feheight, febpp);
|
|
||||||
if (nsfb == NULL)
|
|
||||||
die("Unable to initialise framebuffer");
|
|
||||||
|
|
||||||
framebuffer_set_cursor(&pointer_image);
|
|
||||||
|
|
||||||
if (fb_font_init() == false)
|
|
||||||
die("Unable to initialise the font system");
|
|
||||||
|
|
||||||
fbtk = fbtk_init(nsfb);
|
|
||||||
|
|
||||||
fbtk_enable_oskb(fbtk);
|
|
||||||
|
|
||||||
urldb_load_cookies(nsoption_charp(cookie_file));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ensures output logging stream is correctly configured
|
* Ensures output logging stream is correctly configured
|
||||||
@ -540,32 +552,62 @@ main(int argc, char** argv)
|
|||||||
char *options;
|
char *options;
|
||||||
char *messages;
|
char *messages;
|
||||||
nsurl *url;
|
nsurl *url;
|
||||||
nserror error;
|
nserror ret;
|
||||||
|
nsfb_t *nsfb;
|
||||||
|
|
||||||
respaths = fb_init_resource(NETSURF_FB_RESPATH":"NETSURF_FB_FONTPATH);
|
respaths = fb_init_resource(NETSURF_FB_RESPATH":"NETSURF_FB_FONTPATH);
|
||||||
|
|
||||||
options = filepath_find(respaths, "Choices");
|
|
||||||
messages = filepath_find(respaths, "messages");
|
|
||||||
|
|
||||||
/* initialise logging. Not fatal if it fails but not much we
|
/* initialise logging. Not fatal if it fails but not much we
|
||||||
* can do about it either.
|
* can do about it either.
|
||||||
*/
|
*/
|
||||||
nslog_init(nslog_stream_configure, &argc, argv);
|
nslog_init(nslog_stream_configure, &argc, argv);
|
||||||
|
|
||||||
netsurf_init(&argc, &argv, options, messages);
|
/* user options setup */
|
||||||
|
ret = nsoption_init(set_defaults, &nsoptions, &nsoptions_default);
|
||||||
free(messages);
|
if (ret != NSERROR_OK) {
|
||||||
|
die("Options failed to initialise");
|
||||||
|
}
|
||||||
|
options = filepath_find(respaths, "Choices");
|
||||||
|
nsoption_read(options, NULL);
|
||||||
free(options);
|
free(options);
|
||||||
|
nsoption_commandline(&argc, argv, NULL);
|
||||||
|
|
||||||
gui_init(argc, argv);
|
/* common initialisation */
|
||||||
|
messages = filepath_find(respaths, "Messages");
|
||||||
|
ret = netsurf_init(messages);
|
||||||
|
free(messages);
|
||||||
|
if (ret != NSERROR_OK) {
|
||||||
|
die("NetSurf failed to initialise");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Override, since we have no support for non-core SELECT menu */
|
||||||
|
nsoption_set_bool(core_select_menu, true);
|
||||||
|
|
||||||
|
if (process_cmdline(argc,argv) != true)
|
||||||
|
die("unable to process command line.\n");
|
||||||
|
|
||||||
|
nsfb = framebuffer_initialise(fename, fewidth, feheight, febpp);
|
||||||
|
if (nsfb == NULL)
|
||||||
|
die("Unable to initialise framebuffer");
|
||||||
|
|
||||||
|
framebuffer_set_cursor(&pointer_image);
|
||||||
|
|
||||||
|
if (fb_font_init() == false)
|
||||||
|
die("Unable to initialise the font system");
|
||||||
|
|
||||||
|
fbtk = fbtk_init(nsfb);
|
||||||
|
|
||||||
|
fbtk_enable_oskb(fbtk);
|
||||||
|
|
||||||
|
urldb_load_cookies(nsoption_charp(cookie_file));
|
||||||
|
|
||||||
/* create an initial browser window */
|
/* create an initial browser window */
|
||||||
|
|
||||||
LOG(("calling browser_window_create"));
|
LOG(("calling browser_window_create"));
|
||||||
|
|
||||||
error = nsurl_create(feurl, &url);
|
ret = nsurl_create(feurl, &url);
|
||||||
if (error == NSERROR_OK) {
|
if (ret == NSERROR_OK) {
|
||||||
error = browser_window_create(BROWSER_WINDOW_VERIFIABLE |
|
ret = browser_window_create(BROWSER_WINDOW_VERIFIABLE |
|
||||||
BROWSER_WINDOW_HISTORY,
|
BROWSER_WINDOW_HISTORY,
|
||||||
url,
|
url,
|
||||||
NULL,
|
NULL,
|
||||||
@ -573,8 +615,8 @@ main(int argc, char** argv)
|
|||||||
&bw);
|
&bw);
|
||||||
nsurl_unref(url);
|
nsurl_unref(url);
|
||||||
}
|
}
|
||||||
if (error != NSERROR_OK) {
|
if (ret != NSERROR_OK) {
|
||||||
warn_user(messages_get_errorcode(error), 0);
|
warn_user(messages_get_errorcode(ret), 0);
|
||||||
} else {
|
} else {
|
||||||
netsurf_main_loop();
|
netsurf_main_loop();
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ NSOPTION_STRING(fb_face_sans_serif_bold, NULL)
|
|||||||
NSOPTION_STRING(fb_face_sans_serif_italic, NULL)
|
NSOPTION_STRING(fb_face_sans_serif_italic, NULL)
|
||||||
NSOPTION_STRING(fb_face_sans_serif_italic_bold, NULL)
|
NSOPTION_STRING(fb_face_sans_serif_italic_bold, NULL)
|
||||||
NSOPTION_STRING(fb_face_serif, NULL)
|
NSOPTION_STRING(fb_face_serif, NULL)
|
||||||
NSOPTION_STRING(fb_serif_bold, NULL)
|
NSOPTION_STRING(fb_face_serif_bold, NULL)
|
||||||
NSOPTION_STRING(fb_face_monospace, NULL)
|
NSOPTION_STRING(fb_face_monospace, NULL)
|
||||||
NSOPTION_STRING(fb_face_monospace_bold, NULL)
|
NSOPTION_STRING(fb_face_monospace_bold, NULL)
|
||||||
NSOPTION_STRING(fb_face_cursive, NULL)
|
NSOPTION_STRING(fb_face_cursive, NULL)
|
||||||
|
@ -1,282 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2011 Vincent Sanders <vince@netsurf-browser.org>
|
|
||||||
*
|
|
||||||
* This file is part of NetSurf, http://www.netsurf-browser.org/
|
|
||||||
*
|
|
||||||
* NetSurf 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; version 2 of the License.
|
|
||||||
*
|
|
||||||
* NetSurf 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/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** \file
|
|
||||||
* System colour handling
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "utils/utils.h"
|
|
||||||
#include "utils/log.h"
|
|
||||||
#include "desktop/gui.h"
|
|
||||||
#include "utils/nsoption.h"
|
|
||||||
|
|
||||||
struct gui_system_colour_ctx {
|
|
||||||
const char *name;
|
|
||||||
int length;
|
|
||||||
css_color colour;
|
|
||||||
colour *option_colour;
|
|
||||||
lwc_string *lwcstr;
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct gui_system_colour_ctx colour_list[] = {
|
|
||||||
{
|
|
||||||
"ActiveBorder",
|
|
||||||
SLEN("ActiveBorder"),
|
|
||||||
0xff000000,
|
|
||||||
&nsoption_colour(sys_colour_ActiveBorder),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"ActiveCaption",
|
|
||||||
SLEN("ActiveCaption"),
|
|
||||||
0xffddddcc,
|
|
||||||
&nsoption_colour(sys_colour_ActiveCaption),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"AppWorkspace",
|
|
||||||
SLEN("AppWorkspace"),
|
|
||||||
0xffeeeeee,
|
|
||||||
&nsoption_colour(sys_colour_AppWorkspace),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"Background",
|
|
||||||
SLEN("Background"),
|
|
||||||
0xff0000aa,
|
|
||||||
&nsoption_colour(sys_colour_Background),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"ButtonFace",
|
|
||||||
SLEN("ButtonFace"),
|
|
||||||
0xffdddddd,
|
|
||||||
&nsoption_colour(sys_colour_ButtonFace),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"ButtonHighlight",
|
|
||||||
SLEN("ButtonHighlight"),
|
|
||||||
0xffcccccc,
|
|
||||||
&nsoption_colour(sys_colour_ButtonHighlight),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"ButtonShadow",
|
|
||||||
SLEN("ButtonShadow"),
|
|
||||||
0xffbbbbbb,
|
|
||||||
&nsoption_colour(sys_colour_ButtonShadow),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"ButtonText",
|
|
||||||
SLEN("ButtonText"),
|
|
||||||
0xff000000,
|
|
||||||
&nsoption_colour(sys_colour_ButtonText),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"CaptionText",
|
|
||||||
SLEN("CaptionText"),
|
|
||||||
0xff000000,
|
|
||||||
&nsoption_colour(sys_colour_CaptionText),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"GrayText",
|
|
||||||
SLEN("GrayText"),
|
|
||||||
0xff777777,
|
|
||||||
&nsoption_colour(sys_colour_GrayText),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"Highlight",
|
|
||||||
SLEN("Highlight"),
|
|
||||||
0xff0000ee,
|
|
||||||
&nsoption_colour(sys_colour_Highlight),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"HighlightText",
|
|
||||||
SLEN("HighlightText"),
|
|
||||||
0xff000000,
|
|
||||||
&nsoption_colour(sys_colour_HighlightText),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"InactiveBorder",
|
|
||||||
SLEN("InactiveBorder"),
|
|
||||||
0xff000000,
|
|
||||||
&nsoption_colour(sys_colour_InactiveBorder),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"InactiveCaption",
|
|
||||||
SLEN("InactiveCaption"),
|
|
||||||
0xffffffff,
|
|
||||||
&nsoption_colour(sys_colour_InactiveCaption),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"InactiveCaptionText",
|
|
||||||
SLEN("InactiveCaptionText"),
|
|
||||||
0xffcccccc,
|
|
||||||
&nsoption_colour(sys_colour_InactiveCaptionText),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"InfoBackground",
|
|
||||||
SLEN("InfoBackground"),
|
|
||||||
0xffaaaaaa,
|
|
||||||
&nsoption_colour(sys_colour_InfoBackground),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"InfoText",
|
|
||||||
SLEN("InfoText"),
|
|
||||||
0xff000000,
|
|
||||||
&nsoption_colour(sys_colour_InfoText),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"Menu",
|
|
||||||
SLEN("Menu"),
|
|
||||||
0xffaaaaaa,
|
|
||||||
&nsoption_colour(sys_colour_Menu),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"MenuText",
|
|
||||||
SLEN("MenuText"),
|
|
||||||
0xff000000,
|
|
||||||
&nsoption_colour(sys_colour_MenuText),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"Scrollbar",
|
|
||||||
SLEN("Scrollbar"),
|
|
||||||
0xffaaaaaa,
|
|
||||||
&nsoption_colour(sys_colour_Scrollbar),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"ThreeDDarkShadow",
|
|
||||||
SLEN("ThreeDDarkShadow"),
|
|
||||||
0xff555555,
|
|
||||||
&nsoption_colour(sys_colour_ThreeDDarkShadow),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"ThreeDFace",
|
|
||||||
SLEN("ThreeDFace"),
|
|
||||||
0xffdddddd,
|
|
||||||
&nsoption_colour(sys_colour_ThreeDFace),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"ThreeDHighlight",
|
|
||||||
SLEN("ThreeDHighlight"),
|
|
||||||
0xffaaaaaa,
|
|
||||||
&nsoption_colour(sys_colour_ThreeDHighlight),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"ThreeDLightShadow",
|
|
||||||
SLEN("ThreeDLightShadow"),
|
|
||||||
0xff999999,
|
|
||||||
&nsoption_colour(sys_colour_ThreeDLightShadow),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"ThreeDShadow",
|
|
||||||
SLEN("ThreeDShadow"),
|
|
||||||
0xff777777,
|
|
||||||
&nsoption_colour(sys_colour_ThreeDShadow),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"Window",
|
|
||||||
SLEN("Window"),
|
|
||||||
0xffaaaaaa,
|
|
||||||
&nsoption_colour(sys_colour_Window),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
"WindowFrame",
|
|
||||||
SLEN("WindowFrame"),
|
|
||||||
0xff000000,
|
|
||||||
&nsoption_colour(sys_colour_WindowFrame),
|
|
||||||
NULL
|
|
||||||
}, {
|
|
||||||
|
|
||||||
"WindowText",
|
|
||||||
SLEN("WindowText"),
|
|
||||||
0xff000000,
|
|
||||||
&nsoption_colour(sys_colour_WindowText),
|
|
||||||
NULL
|
|
||||||
},
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#define colour_list_len (sizeof(colour_list) / sizeof(struct gui_system_colour_ctx))
|
|
||||||
|
|
||||||
static struct gui_system_colour_ctx *gui_system_colour_pw = NULL;
|
|
||||||
|
|
||||||
|
|
||||||
bool gui_system_colour_init(void)
|
|
||||||
{
|
|
||||||
unsigned int ccount;
|
|
||||||
|
|
||||||
if (gui_system_colour_pw != NULL)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
/* Intern colour strings */
|
|
||||||
for (ccount = 0; ccount < colour_list_len; ccount++) {
|
|
||||||
if (lwc_intern_string(colour_list[ccount].name,
|
|
||||||
colour_list[ccount].length,
|
|
||||||
&(colour_list[ccount].lwcstr)) != lwc_error_ok) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* pull in options if set (ie not transparent) */
|
|
||||||
for (ccount = 0; ccount < colour_list_len; ccount++) {
|
|
||||||
if (*(colour_list[ccount].option_colour) != 0) {
|
|
||||||
colour_list[ccount].colour = *(colour_list[ccount].option_colour);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
gui_system_colour_pw = colour_list;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void gui_system_colour_finalize(void)
|
|
||||||
{
|
|
||||||
unsigned int ccount;
|
|
||||||
|
|
||||||
for (ccount = 0; ccount < colour_list_len; ccount++) {
|
|
||||||
lwc_string_unref(colour_list[ccount].lwcstr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
colour gui_system_colour_char(const char *name)
|
|
||||||
{
|
|
||||||
colour ret = 0xff00000;
|
|
||||||
unsigned int ccount;
|
|
||||||
|
|
||||||
for (ccount = 0; ccount < colour_list_len; ccount++) {
|
|
||||||
if (strcmp(name, colour_list[ccount].name) == 0) {
|
|
||||||
ret = colour_list[ccount].colour;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
css_error gui_system_colour(void *pw, lwc_string *name, css_color *colour)
|
|
||||||
{
|
|
||||||
unsigned int ccount;
|
|
||||||
bool match;
|
|
||||||
|
|
||||||
for (ccount = 0; ccount < colour_list_len; ccount++) {
|
|
||||||
if (lwc_string_caseless_isequal(name,
|
|
||||||
colour_list[ccount].lwcstr,
|
|
||||||
&match) == lwc_error_ok && match) {
|
|
||||||
*colour = colour_list[ccount].colour;
|
|
||||||
return CSS_OK;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return CSS_INVALID;
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user