LCOV - code coverage report
Current view: top level - io/source/document - document_css_writer.c (source / functions) Coverage Total Hit
Test: crystal-facet-uml_v1.63.2_covts Lines: 0.0 % 19 0
Test Date: 2025-05-01 10:10:14 Functions: 0.0 % 3 0

            Line data    Source code
       1              : /* File: document_css_writer.c; Copyright and License: see below */
       2              : 
       3              : #include "document/document_css_writer.h"
       4              : #include "utf8stringbuf/utf8string.h"
       5              : #include "u8/u8_trace.h"
       6              : #include "u8/u8_log.h"
       7              : #include <stdbool.h>
       8              : #include <assert.h>
       9              : 
      10              : /* IO_FILE_FORMAT_CSS */
      11              : 
      12              : static const char CSS_ALL[]
      13              : ="body {\n"
      14              : "    background-color: rgb(255,255,255);\n"
      15              : "    font-family: Helvetica,Arial,sans-serif;\n"
      16              : "}\n"
      17              : ".toc1 {\n"
      18              : "    color: rgb(192,128,0);\n"
      19              : "    font-size: small;\n"
      20              : "    counter-reset: cnt-head-two;\n"
      21              : "}\n"
      22              : ".toc2::before {\n"
      23              : "    counter-increment: cnt-head-two;\n"
      24              : "    content: counter(cnt-head-two) \"\\0000a0 \";\n"
      25              : "}\n"
      26              : ".toc2 {\n"
      27              : "    color: rgb(192,128,0);\n"
      28              : "    font-size: small;\n"
      29              : "    counter-reset: cnt-head-three;\n"
      30              : "}\n"
      31              : ".toc3::before {\n"
      32              : "    counter-increment: cnt-head-three;\n"
      33              : "    content: counter(cnt-head-two) \".\" counter(cnt-head-three) \"\\0000a0 \";\n"
      34              : "}\n"
      35              : ".toc3 {\n"
      36              : "    color: rgb(192,128,0);\n"
      37              : "    font-size: x-small;\n"
      38              : "    counter-reset: cnt-head-four;\n"
      39              : "}\n"
      40              : ".toc4::before {\n"
      41              : "    counter-increment: cnt-head-four;\n"
      42              : "    content: counter(cnt-head-two) \".\" counter(cnt-head-three) \".\" counter(cnt-head-four) \"\\0000a0 \";\n"
      43              : "}\n"
      44              : ".toc4 {\n"
      45              : "    color: rgb(192,128,0);\n"
      46              : "    font-size: xx-small;\n"
      47              : "    counter-reset: cnt-head-five;\n"
      48              : "}\n"
      49              : ".toc5::before {\n"
      50              : "    counter-increment: cnt-head-five;\n"
      51              : "    content: counter(cnt-head-two) \".\" counter(cnt-head-three) \".\" counter(cnt-head-four) \".\" counter(cnt-head-five) \"\\0000a0 \";\n"
      52              : "}\n"
      53              : ".toc5 {\n"
      54              : "    color: rgb(192,128,0);\n"
      55              : "    font-size: xx-small;\n"
      56              : "    counter-reset: cnt-head-six;\n"
      57              : "}\n"
      58              : ".toc6::before {\n"
      59              : "    counter-increment: cnt-head-six;\n"
      60              : "    content: counter(cnt-head-two) \".\" counter(cnt-head-three) \".\" counter(cnt-head-four) \".\" counter(cnt-head-five) \".\" counter(cnt-head-six) \"\\0000a0 \";\n"
      61              : "}\n"
      62              : ".toc6 {\n"
      63              : "    color: rgb(192,128,0);\n"
      64              : "    font-size: xx-small;\n"
      65              : "}\n"
      66              : ".diag-title {\n"
      67              : "    color: rgb(192,128,0);\n"
      68              : "}\n"
      69              : ".diag-stereo::before {\n"
      70              : "    content:\"\\0000a0 \\0000ab\";\n"
      71              : "}\n"
      72              : ".diag-stereo {\n"
      73              : "    color: rgb(80,80,80);\n"
      74              : "}\n"
      75              : ".diag-stereo::after {\n"
      76              : "    content: \"\\0000bb\";\n"
      77              : "}\n"
      78              : ".diag-name {\n"
      79              : "    color: rgb(128,128,128);\n"
      80              : "}\n"
      81              : ".diag-type::before {\n"
      82              : "    content:\"\\0000a0 \\0000a0 {type=\";\n"
      83              : "}\n"
      84              : ".diag-type {\n"
      85              : "    color: rgb(160,160,160);\n"
      86              : "}\n"
      87              : ".diag-type::after {\n"
      88              : "    content: \"}\";\n"
      89              : "}\n"
      90              : ".diag-id::before {\n"
      91              : "    content:\"\\0000a0 \\0000a0 {id=\";\n"
      92              : "}\n"
      93              : ".diag-id {\n"
      94              : "    color: rgb(160,160,160);\n"
      95              : "}\n"
      96              : ".diag-id::after {\n"
      97              : "    content: \"}\";\n"
      98              : "}\n"
      99              : ".diag-descr {\n"
     100              : "    padding: 8px;\n"
     101              : "    margin-left: 2px;\n"
     102              : "    margin-right: 2px;\n"
     103              : "    margin-top: 2px;\n"
     104              : "    margin-bottom: 12px;\n"
     105              : "    border: 1px solid #CC8800;\n"
     106              : "}\n"
     107              : ".clas {\n"
     108              : "    background-color: rgb(240,240,240);\n"
     109              : "    margin-top: 8px;\n"
     110              : "}\n"
     111              : ".clas-stereo::before {\n"
     112              : "    content:\"\\0000a0 \\0000ab\";\n"
     113              : "}\n"
     114              : ".clas-stereo {\n"
     115              : "    color: rgb(80,80,80);\n"
     116              : "}\n"
     117              : ".clas-stereo::after {\n"
     118              : "    content: \"\\0000bb\";\n"
     119              : "}\n"
     120              : ".clas-name {\n"
     121              : "    color: rgb(192,128,0);\n"
     122              : "}\n"
     123              : ".clas-type::before {\n"
     124              : "    content:\"\\0000a0 \\0000a0 {type=\";\n"
     125              : "}\n"
     126              : ".clas-type {\n"
     127              : "    color: rgb(160,160,160);\n"
     128              : "}\n"
     129              : ".clas-type::after {\n"
     130              : "    content: \"}\";\n"
     131              : "}\n"
     132              : ".clas-id::before {\n"
     133              : "    content:\"\\0000a0 \\0000a0 {id=\";\n"
     134              : "}\n"
     135              : ".clas-id {\n"
     136              : "    color: rgb(160,160,160);\n"
     137              : "}\n"
     138              : ".clas-id::after {\n"
     139              : "    content: \"}\";\n"
     140              : "}\n"
     141              : ".clas-see::before {\n"
     142              : "    content:\"appears in \";\n"
     143              : "}\n"
     144              : ".clas-see {\n"
     145              : "    text-align: right;\n"
     146              : "    font-size: x-small;\n"
     147              : "    color: rgb(160,160,160);\n"
     148              : "}\n"
     149              : ".clas-descr {\n"
     150              : "    background-color: rgb(255,255,255);\n"
     151              : "    padding: 8px;\n"
     152              : "    margin: 2px;\n"
     153              : "    border: 1px solid #CCCCCC;\n"
     154              : "}\n"
     155              : ".feat {\n"
     156              : "    background-color: rgb(255,255,255);\n"
     157              : "    font-size: small;\n"
     158              : "    margin-left: 32px;\n"
     159              : "    margin-right: 32px;\n"
     160              : "    border: 1px solid #F0F0F0;\n"
     161              : "}\n"
     162              : ".feat-stereo::before {\n"
     163              : "    content:\"\\0000a0 \\0000ab\";\n"
     164              : "}\n"
     165              : ".feat-stereo {\n"
     166              : "    color: rgb(80,80,80);\n"
     167              : "}\n"
     168              : ".feat-stereo::after {\n"
     169              : "    content: \"\\0000bb\";\n"
     170              : "}\n"
     171              : /* ".feat-name {\n" */
     172              : /* "    color: rgb(0,0,0);\n" */
     173              : /* "}\n" */
     174              : ".feat-type::before {\n"
     175              : "    content:\"\\0000a0 \\0000a0 {type=\";\n"
     176              : "}\n"
     177              : ".feat-type {\n"
     178              : "    color: rgb(160,160,160);\n"
     179              : "}\n"
     180              : ".feat-type::after {\n"
     181              : "    content: \"}\";\n"
     182              : "}\n"
     183              : ".feat-id::before {\n"
     184              : "    content: \"\\0000a0 \\0000a0 {id=\";\n"
     185              : "}\n"
     186              : ".feat-id {\n"
     187              : "    color: rgb(160,160,160);\n"
     188              : "}\n"
     189              : ".feat-id::after {\n"
     190              : "    content :\"}\";\n"
     191              : "}\n"
     192              : ".feat-descr {\n"
     193              : "    background-color: rgb(255,255,255);\n"
     194              : "    padding: 8px;\n"
     195              : "    margin: 2px;\n"
     196              : "    border: 1px solid #CCCCCC;\n"
     197              : "}\n"
     198              : ".rel {\n"
     199              : "    background-color: rgb(255,255,255);\n"
     200              : "    font-size: small;\n"
     201              : "    margin-left: 32px;\n"
     202              : "    margin-right: 32px;\n"
     203              : "}\n"
     204              : ".rel-stereo::before {\n"
     205              : "    content:\"\\0000a0 \\0000ab\";\n"
     206              : "}\n"
     207              : ".rel-stereo {\n"
     208              : "    color: rgb(80,80,80);\n"
     209              : "}\n"
     210              : ".rel-stereo::after {\n"
     211              : "    content: \"\\0000bb\";\n"
     212              : "}\n"
     213              : /* ".rel-name {\n" */
     214              : /* "    color: rgb(0,0,0);\n" */
     215              : /* "}\n" */
     216              : /* ".rel-dest {\n" */
     217              : /* "    color: rgb(0,0,0);\n" */
     218              : /* "}\n" */
     219              : ".rel-type::before {\n"
     220              : "    content:\"\\0000a0 \\0000a0 {type=\";\n"
     221              : "}\n"
     222              : ".rel-type {\n"
     223              : "    color: rgb(160,160,160);\n"
     224              : "}\n"
     225              : ".rel-type::after {\n"
     226              : "    content: \"}\";\n"
     227              : "}\n"
     228              : ".rel-id::before {\n"
     229              : "    content: \"\\0000a0 \\0000a0 {id=\";\n"
     230              : "}\n"
     231              : ".rel-id {\n"
     232              : "    color: rgb(160,160,160);\n"
     233              : "}\n"
     234              : ".rel-id::after {\n"
     235              : "    content: \"}\";\n"
     236              : "}\n"
     237              : ".rel-descr {\n"
     238              : "    background-color: rgb(255,255,255);\n"
     239              : "    padding: 8px;\n"
     240              : "    margin: 2px;\n"
     241              : "    border: 1px solid #CCCCCC;\n"
     242              : "}\n"
     243              : "h1 {\n"
     244              : "    counter-reset: cnt-head-two;\n"
     245              : "}\n"
     246              : "h2::before {\n"
     247              : "    counter-increment: cnt-head-two;\n"
     248              : "    content: counter(cnt-head-two) \"\\0000a0 \";\n"
     249              : "}\n"
     250              : "h2 {\n"
     251              : "    counter-reset: cnt-head-three;\n"
     252              : "}\n"
     253              : "h3::before {\n"
     254              : "    counter-increment: cnt-head-three;\n"
     255              : "    content: counter(cnt-head-two) \".\" counter(cnt-head-three) \"\\0000a0 \";\n"
     256              : "}\n"
     257              : "h3 {\n"
     258              : "    counter-reset: cnt-head-four;\n"
     259              : "}\n"
     260              : "h4::before {\n"
     261              : "    counter-increment: cnt-head-four;\n"
     262              : "    content: counter(cnt-head-two) \".\" counter(cnt-head-three) \".\" counter(cnt-head-four) \"\\0000a0 \";\n"
     263              : "}\n"
     264              : "h4 {\n"
     265              : "    counter-reset: cnt-head-five;\n"
     266              : "}\n"
     267              : "h5::before {\n"
     268              : "    counter-increment: cnt-head-five;\n"
     269              : "    content: counter(cnt-head-two) \".\" counter(cnt-head-three) \".\" counter(cnt-head-four) \".\" counter(cnt-head-five) \"\\0000a0 \";\n"
     270              : "}\n"
     271              : "h5 {\n"
     272              : "    counter-reset: cnt-head-six;\n"
     273              : "}\n"
     274              : "h6::before {\n"
     275              : "    counter-increment: cnt-head-six;\n"
     276              : "    content: counter(cnt-head-two) \".\" counter(cnt-head-three) \".\" counter(cnt-head-four) \".\" counter(cnt-head-five) \".\" counter(cnt-head-six) \"\\0000a0 \";\n"
     277              : "}\n"
     278              : "p {\n"
     279              : "    padding: 2px;\n"
     280              : "    margin: 0px;\n"
     281              : "}\n";
     282              : 
     283            0 : void document_css_writer_init ( document_css_writer_t *this_,
     284              :                                 universal_output_stream_t *output )
     285              : {
     286            0 :     U8_TRACE_BEGIN();
     287            0 :     assert( NULL != output );
     288              : 
     289            0 :     (*this_).output = output;
     290              : 
     291            0 :     U8_TRACE_END();
     292            0 : }
     293              : 
     294            0 : void document_css_writer_destroy( document_css_writer_t *this_ )
     295              : {
     296            0 :     U8_TRACE_BEGIN();
     297              : 
     298            0 :     (*this_).output = NULL;
     299              : 
     300            0 :     U8_TRACE_END();
     301            0 : }
     302              : 
     303            0 : u8_error_t document_css_writer_write_stylesheet( document_css_writer_t *this_ )
     304              : {
     305            0 :     U8_TRACE_BEGIN();
     306            0 :     u8_error_t export_err = U8_ERROR_NONE;
     307              : 
     308            0 :     utf8string_t *text = CSS_ALL;
     309            0 :     const size_t text_len = utf8string_get_length(text);
     310            0 :     export_err |= universal_output_stream_write( (*this_).output, text, text_len);
     311              : 
     312            0 :     U8_TRACE_END_ERR( export_err );
     313            0 :     return export_err;
     314              : }
     315              : 
     316              : 
     317              : /*
     318              : Copyright 2017-2025 Andreas Warnke
     319              : 
     320              : Licensed under the Apache License, Version 2.0 (the "License");
     321              : you may not use this file except in compliance with the License.
     322              : You may obtain a copy of the License at
     323              : 
     324              :     http://www.apache.org/licenses/LICENSE-2.0
     325              : 
     326              : Unless required by applicable law or agreed to in writing, software
     327              : distributed under the License is distributed on an "AS IS" BASIS,
     328              : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     329              : See the License for the specific language governing permissions and
     330              : limitations under the License.
     331              : */
        

Generated by: LCOV version 2.0-1