comparison Framework/Layers/CircleMeasureTracker.cpp @ 365:ef31240a73f6 am-2

no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 31 Oct 2018 18:10:29 +0100
parents 50e5ec1bdd46
children a7de01c8fd29
comparison
equal deleted inserted replaced
364:aad2f9293089 365:ef31240a73f6
22 #define _USE_MATH_DEFINES // To access M_PI in Visual Studio 22 #define _USE_MATH_DEFINES // To access M_PI in Visual Studio
23 #include <cmath> 23 #include <cmath>
24 24
25 #include "CircleMeasureTracker.h" 25 #include "CircleMeasureTracker.h"
26 26
27 #include "../Viewport/CairoFont.h"
28
29 #include <stdio.h> 27 #include <stdio.h>
30 28
31 namespace OrthancStone 29 namespace OrthancStone
32 { 30 {
33 CircleMeasureTracker::CircleMeasureTracker(IStatusBar* statusBar, 31 CircleMeasureTracker::CircleMeasureTracker(IStatusBar* statusBar,
35 double x, 33 double x,
36 double y, 34 double y,
37 uint8_t red, 35 uint8_t red,
38 uint8_t green, 36 uint8_t green,
39 uint8_t blue, 37 uint8_t blue,
40 unsigned int fontSize) : 38 const Orthanc::Font& font) :
41 statusBar_(statusBar), 39 statusBar_(statusBar),
42 slice_(slice), 40 slice_(slice),
43 x1_(x), 41 x1_(x),
44 y1_(y), 42 y1_(y),
45 x2_(x), 43 x2_(x),
46 y2_(y), 44 y2_(y),
47 fontSize_(fontSize) 45 font_(font)
48 { 46 {
49 color_[0] = red; 47 color_[0] = red;
50 color_[1] = green; 48 color_[1] = green;
51 color_[2] = blue; 49 color_[2] = blue;
52 } 50 }
71 cairo_arc(cr, 0, 0, r, 0, 2 * M_PI); 69 cairo_arc(cr, 0, 0, r, 0, 2 * M_PI);
72 cairo_stroke_preserve(cr); 70 cairo_stroke_preserve(cr);
73 cairo_stroke(cr); 71 cairo_stroke(cr);
74 cairo_restore(cr); 72 cairo_restore(cr);
75 73
76 if (fontSize_ != 0) 74 //context.SetSourceColor(0, 255, 0);
77 { 75 context.DrawText(font_, FormatRadius(), x, y);
78 cairo_move_to(cr, x, y);
79 #if ORTHANC_ENABLE_NATIVE==1 // text rendering currently fails in wasm
80 CairoFont font("sans-serif", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
81 font.Draw(context, FormatRadius(), static_cast<double>(fontSize_) / zoom);
82 #endif
83 }
84 } 76 }
85 77
86 78
87 double CircleMeasureTracker::GetRadius() const // In millimeters 79 double CircleMeasureTracker::GetRadius() const // In millimeters
88 { 80 {