Line data Source code
1 : /* File: gui_sketch_style.inl; Copyright and License: see below */ 2 : 3 : #include "u8/u8_log.h" 4 : #include <assert.h> 5 : 6 : static const char *const GUI_SKETCH_STYLE_FONT_FAMILY = "Sans"; 7 : 8 4 : static inline void gui_sketch_style_init( gui_sketch_style_t *this_ ) 9 : { 10 4 : pencil_size_init_empty( &((*this_).pencil_size) ); 11 : /* the grid is snapped to rather easily, there is no risk of accidentially selecting a close-by grid position */ 12 4 : (*this_).snap_to_grid_distance = 8.000001; 13 : /* a relationship must be selected rather accurately, to avoid not being able to select something close by */ 14 4 : (*this_).snap_to_relationship = 3; 15 4 : } 16 : 17 4 : static inline void gui_sketch_style_destroy( gui_sketch_style_t *this_ ) 18 : { 19 4 : pencil_size_destroy( &((*this_).pencil_size) ); 20 4 : } 21 : 22 0 : static inline double gui_sketch_style_get_snap_to_grid( const gui_sketch_style_t *this_ ) 23 : { 24 0 : return (*this_).snap_to_grid_distance; 25 : } 26 : 27 0 : static inline int32_t gui_sketch_style_get_snap_to_relationship( const gui_sketch_style_t *this_ ) 28 : { 29 0 : return (*this_).snap_to_relationship; 30 : } 31 : 32 : static inline double gui_sketch_style_get_footnote_font_size( const gui_sketch_style_t *this_ ) 33 : { 34 : return pencil_size_get_footnote_font_size( &((*this_).pencil_size) ); 35 : } 36 : 37 : static inline const PangoFontDescription *gui_sketch_style_get_footnote_font_description( const gui_sketch_style_t *this_ ) 38 : { 39 : return pencil_size_get_footnote_font_description( &((*this_).pencil_size) ); 40 : } 41 : 42 : static inline double gui_sketch_style_get_standard_font_size( const gui_sketch_style_t *this_ ) 43 : { 44 : return pencil_size_get_standard_font_size( &((*this_).pencil_size) ); 45 : } 46 : 47 4 : static inline const PangoFontDescription *gui_sketch_style_get_standard_font_description( const gui_sketch_style_t *this_ ) 48 : { 49 4 : return pencil_size_get_standard_font_description( &((*this_).pencil_size) ); 50 : } 51 : 52 : static inline double gui_sketch_style_get_title_font_size( const gui_sketch_style_t *this_ ) 53 : { 54 : return pencil_size_get_title_font_size( &((*this_).pencil_size) ); 55 : } 56 : 57 : static inline const PangoFontDescription *gui_sketch_style_get_title_font_description( const gui_sketch_style_t *this_ ) 58 : { 59 : return pencil_size_get_title_font_description( &((*this_).pencil_size) ); 60 : } 61 : 62 : static inline double gui_sketch_style_get_font_tab_size( const gui_sketch_style_t *this_ ) 63 : { 64 : return pencil_size_get_font_tab_size( &((*this_).pencil_size) ); 65 : } 66 : 67 : static inline double gui_sketch_style_get_font_line_gap( const gui_sketch_style_t *this_ ) 68 : { 69 : return pencil_size_get_font_line_gap( &((*this_).pencil_size) ); 70 : } 71 : 72 : static inline double gui_sketch_style_get_standard_line_width( const gui_sketch_style_t *this_ ) 73 : { 74 : return pencil_size_get_standard_line_width( &((*this_).pencil_size) ); 75 : } 76 : 77 : static inline double gui_sketch_style_get_bold_line_width( const gui_sketch_style_t *this_ ) 78 : { 79 : return pencil_size_get_bold_line_width( &((*this_).pencil_size) ); 80 : } 81 : 82 : static inline double gui_sketch_style_get_standard_object_border( const gui_sketch_style_t *this_ ) 83 : { 84 : return pencil_size_get_standard_object_border( &((*this_).pencil_size) ); 85 : } 86 : 87 : static inline double gui_sketch_style_get_preferred_object_distance( const gui_sketch_style_t *this_ ) 88 : { 89 : return pencil_size_get_preferred_object_distance( &((*this_).pencil_size) ); 90 : } 91 : 92 0 : static inline GdkRGBA gui_sketch_style_get_standard_color( const gui_sketch_style_t *this_ ) 93 : { 94 0 : return pencil_size_get_standard_color( &((*this_).pencil_size) ); 95 : } 96 : 97 : static inline GdkRGBA gui_sketch_style_get_select_color( const gui_sketch_style_t *this_ ) 98 : { 99 : return pencil_size_get_select_color( &((*this_).pencil_size) ); 100 : } 101 : 102 0 : static inline GdkRGBA gui_sketch_style_get_highlight_color( const gui_sketch_style_t *this_ ) 103 : { 104 0 : return pencil_size_get_highlight_color( &((*this_).pencil_size) ); 105 : } 106 : 107 : static inline GdkRGBA gui_sketch_style_get_focus_color( const gui_sketch_style_t *this_ ) 108 : { 109 : return pencil_size_get_focus_color( &((*this_).pencil_size) ); 110 : } 111 : 112 : static inline GdkRGBA gui_sketch_style_get_emphasized_bgcolor( const gui_sketch_style_t *this_ ) 113 : { 114 : return pencil_size_get_emphasized_bgcolor( &((*this_).pencil_size) ); 115 : } 116 : 117 : static inline GdkRGBA gui_sketch_style_get_gray_out_color( const gui_sketch_style_t *this_ ) 118 : { 119 : return pencil_size_get_gray_out_color( &((*this_).pencil_size) ); 120 : } 121 : 122 : 123 : /* 124 : Copyright 2021-2025 Andreas Warnke 125 : 126 : Licensed under the Apache License, Version 2.0 (the "License"); 127 : you may not use this file except in compliance with the License. 128 : You may obtain a copy of the License at 129 : 130 : http://www.apache.org/licenses/LICENSE-2.0 131 : 132 : Unless required by applicable law or agreed to in writing, software 133 : distributed under the License is distributed on an "AS IS" BASIS, 134 : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135 : See the License for the specific language governing permissions and 136 : limitations under the License. 137 : */