LCOV - code coverage report
Current view: top level - pencil/include/geometry - geometry_v_align.inl (source / functions) Hit Total Coverage
Test: crystal-facet-uml_v1.65.6_covts Lines: 13 13 100.0 %
Date: 2025-09-25 21:07:53 Functions: 1 1 100.0 %

          Line data    Source code
       1             : /* File: geometry_v_align.inl; Copyright and License: see below */
       2             : 
       3             : #include "u8/u8_trace.h"
       4             : #include "u8/u8_log.h"
       5             : 
       6          11 : static inline double geometry_v_align_get_top ( const geometry_v_align_t *this_, double height, double reference_top, double reference_height )
       7             : {
       8          11 :     assert( ( *this_ == GEOMETRY_V_ALIGN_TOP )||( *this_ == GEOMETRY_V_ALIGN_CENTER )||( *this_ == GEOMETRY_V_ALIGN_BOTTOM ) );
       9             :     double top;
      10             : 
      11          11 :     switch ( *this_ )
      12             :     {
      13           1 :         case GEOMETRY_V_ALIGN_TOP:
      14             :         {
      15           1 :             top = reference_top;
      16             :         }
      17           1 :         break;
      18             : 
      19           7 :         case GEOMETRY_V_ALIGN_CENTER:
      20             :         {
      21           7 :             top = reference_top + 0.5 * ( reference_height - height );
      22             :         }
      23           7 :         break;
      24             : 
      25           3 :         default:
      26             :         case GEOMETRY_V_ALIGN_BOTTOM:
      27             :         {
      28           3 :             top = reference_top + reference_height - height;
      29             :         }
      30           3 :         break;
      31             :     }
      32             : 
      33          11 :     return top;
      34             : }
      35             : 
      36             : 
      37             : /*
      38             : Copyright 2017-2025 Andreas Warnke
      39             : 
      40             : Licensed under the Apache License, Version 2.0 (the "License");
      41             : you may not use this file except in compliance with the License.
      42             : You may obtain a copy of the License at
      43             : 
      44             :     http://www.apache.org/licenses/LICENSE-2.0
      45             : 
      46             : Unless required by applicable law or agreed to in writing, software
      47             : distributed under the License is distributed on an "AS IS" BASIS,
      48             : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      49             : See the License for the specific language governing permissions and
      50             : limitations under the License.
      51             : */

Generated by: LCOV version 1.16