Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * Copyright 2009 Vincent Sanders <vince@kyllikki.org>
  3.  *
  4.  * This file is part of NetSurf, http://www.netsurf-browser.org/
  5.  *
  6.  * NetSurf is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License as published by
  8.  * the Free Software Foundation; version 2 of the License.
  9.  *
  10.  * NetSurf is distributed in the hope that it will be useful,
  11.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.  * GNU General Public License for more details.
  14.  *
  15.  * You should have received a copy of the GNU General Public License
  16.  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  17.  */
  18.  
  19. /**
  20.  * \file desktop/plot_style.c
  21.  * \brief Plotter global styles.
  22.  *
  23.  * These plot styles are globaly available and used in many places.
  24.  */
  25.  
  26. #include "desktop/plotters.h"
  27.  
  28. static plot_style_t plot_style_fill_white_static = {
  29.         .fill_type = PLOT_OP_TYPE_SOLID,
  30.         .fill_colour = 0xffffff,
  31. };
  32. plot_style_t *plot_style_fill_white = &plot_style_fill_white_static;
  33.  
  34. static plot_style_t plot_style_fill_black_static = {
  35.         .fill_type = PLOT_OP_TYPE_SOLID,
  36.         .fill_colour = 0x0,
  37. };
  38. plot_style_t *plot_style_fill_black = &plot_style_fill_black_static;
  39.  
  40. static plot_style_t plot_style_fill_red_static = {
  41.         .fill_type = PLOT_OP_TYPE_SOLID,
  42.         .fill_colour = 0x000000ff,
  43. };
  44. plot_style_t *plot_style_fill_red = &plot_style_fill_red_static;
  45.  
  46. /* Box model debug outline styles for content, padding and margin edges */
  47. static const plot_style_t plot_style_content_edge_static = {
  48.         .stroke_type = PLOT_OP_TYPE_SOLID,
  49.         .stroke_colour = 0x00ff0000,
  50.         .stroke_width = 1,
  51. };
  52. plot_style_t const * const plot_style_content_edge =
  53.                 &plot_style_content_edge_static;
  54.  
  55. static const plot_style_t plot_style_padding_edge_static = {
  56.         .stroke_type = PLOT_OP_TYPE_SOLID,
  57.         .stroke_colour = 0x000000ff,
  58.         .stroke_width = 1,
  59. };
  60. plot_style_t const * const plot_style_padding_edge =
  61.                 &plot_style_padding_edge_static;
  62.  
  63. static const plot_style_t plot_style_margin_edge_static = {
  64.         .stroke_type = PLOT_OP_TYPE_SOLID,
  65.         .stroke_colour = 0x0000ffff,
  66.         .stroke_width = 1,
  67. };
  68. plot_style_t const * const plot_style_margin_edge =
  69.                 &plot_style_margin_edge_static;
  70.  
  71. /* Broken object replacement styles */
  72. static const plot_style_t plot_style_broken_object_static = {
  73.         .fill_type = PLOT_OP_TYPE_SOLID,
  74.         .fill_colour = 0x008888ff,
  75.         .stroke_type = PLOT_OP_TYPE_SOLID,
  76.         .stroke_colour = 0x000000ff,
  77.         .stroke_width = 1,
  78. };
  79. plot_style_t const * const plot_style_broken_object =
  80.                 &plot_style_broken_object_static;
  81.  
  82. static const plot_font_style_t plot_fstyle_broken_object_static = {
  83.         .family = PLOT_FONT_FAMILY_SANS_SERIF,
  84.         .size = 16 * FONT_SIZE_SCALE,
  85.         .weight = 400,
  86.         .flags = FONTF_NONE,
  87.         .background = 0x8888ff,
  88.         .foreground = 0x000044,
  89. };
  90. plot_font_style_t const * const plot_fstyle_broken_object =
  91.                 &plot_fstyle_broken_object_static;
  92.  
  93. /* caret style used in html_redraw_caret */
  94. static plot_style_t plot_style_caret_static = {
  95.         .stroke_type = PLOT_OP_TYPE_SOLID,
  96.         .stroke_colour = 0x0000ff,  /* todo - choose a proper colour */
  97. };
  98. plot_style_t *plot_style_caret = &plot_style_caret_static;
  99.  
  100.  
  101.  
  102. /* html redraw widget styles */
  103.  
  104. /** plot style for filled widget base colour. */
  105. static plot_style_t plot_style_fill_wbasec_static = {
  106.         .fill_type = PLOT_OP_TYPE_SOLID,
  107.         .fill_colour = WIDGET_BASEC,
  108. };
  109. plot_style_t *plot_style_fill_wbasec = &plot_style_fill_wbasec_static;
  110.  
  111. /** plot style for dark filled widget base colour . */
  112. static plot_style_t plot_style_fill_darkwbasec_static = {
  113.         .fill_type = PLOT_OP_TYPE_SOLID,
  114.         .fill_colour = double_darken_colour(WIDGET_BASEC),
  115. };
  116. plot_style_t *plot_style_fill_darkwbasec = &plot_style_fill_darkwbasec_static;
  117.  
  118. /** plot style for light filled widget base colour. */
  119. static plot_style_t plot_style_fill_lightwbasec_static = {
  120.         .fill_type = PLOT_OP_TYPE_SOLID,
  121.         .fill_colour = double_lighten_colour(WIDGET_BASEC),
  122. };
  123. plot_style_t *plot_style_fill_lightwbasec = &plot_style_fill_lightwbasec_static;
  124.  
  125.  
  126. /** plot style for widget background. */
  127. static plot_style_t plot_style_fill_wblobc_static = {
  128.         .fill_type = PLOT_OP_TYPE_SOLID,
  129.         .fill_colour = WIDGET_BLOBC,
  130. };
  131. plot_style_t *plot_style_fill_wblobc = &plot_style_fill_wblobc_static;
  132.  
  133. /** plot style for checkbox cross. */
  134. static plot_style_t plot_style_stroke_wblobc_static = {
  135.         .stroke_type = PLOT_OP_TYPE_SOLID,
  136.         .stroke_colour = WIDGET_BLOBC,
  137.         .stroke_width = 2,
  138. };
  139. plot_style_t *plot_style_stroke_wblobc = &plot_style_stroke_wblobc_static;
  140.  
  141. /** stroke style for widget double dark colour. */
  142. static plot_style_t plot_style_stroke_darkwbasec_static = {
  143.         .stroke_type = PLOT_OP_TYPE_SOLID,
  144.         .stroke_colour = double_darken_colour(WIDGET_BASEC),
  145. };
  146. plot_style_t *plot_style_stroke_darkwbasec = &plot_style_stroke_darkwbasec_static;
  147.  
  148. /** stroke style for widget double light colour. */
  149. static plot_style_t plot_style_stroke_lightwbasec_static = {
  150.         .stroke_type = PLOT_OP_TYPE_SOLID,
  151.         .stroke_colour = double_lighten_colour(WIDGET_BASEC),
  152. };
  153. plot_style_t *plot_style_stroke_lightwbasec = &plot_style_stroke_lightwbasec_static;
  154.  
  155. /* history styles */
  156.  
  157. /** stroke style for history core. */
  158. static plot_style_t plot_style_stroke_history_static = {
  159.         .stroke_type = PLOT_OP_TYPE_SOLID,
  160.         .stroke_colour = HISTORY_COLOUR_LINES,
  161.         .stroke_width = 2,
  162. };
  163. plot_style_t *plot_style_stroke_history = &plot_style_stroke_history_static;
  164.  
  165. /* Generic font style */
  166. static const plot_font_style_t plot_style_font_static = {
  167.         .family = PLOT_FONT_FAMILY_SANS_SERIF,
  168.         .size = 8 * FONT_SIZE_SCALE,
  169.         .weight = 400,
  170.         .flags = FONTF_NONE,
  171.         .background = 0xffffff,
  172.         .foreground = 0x000000,
  173. };
  174. plot_font_style_t const * const plot_style_font = &plot_style_font_static;
  175.  
  176.