Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
proview
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Esteban Blanc
proview
Commits
981fa508
Commit
981fa508
authored
Jul 15, 2011
by
Claes Sjofors
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Ge rotation of texts implemented
parent
80a2266d
Changes
19
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
345 additions
and
127 deletions
+345
-127
xtt/lib/glow/gtk/glow_draw_gtk.cpp
xtt/lib/glow/gtk/glow_draw_gtk.cpp
+81
-19
xtt/lib/glow/gtk/glow_draw_gtk.h
xtt/lib/glow/gtk/glow_draw_gtk.h
+6
-6
xtt/lib/glow/motif/glow_draw_xlib.cpp
xtt/lib/glow/motif/glow_draw_xlib.cpp
+5
-3
xtt/lib/glow/motif/glow_draw_xlib.h
xtt/lib/glow/motif/glow_draw_xlib.h
+3
-3
xtt/lib/glow/src/glow.h
xtt/lib/glow/src/glow.h
+1
-0
xtt/lib/glow/src/glow_annot.cpp
xtt/lib/glow/src/glow_annot.cpp
+3
-3
xtt/lib/glow/src/glow_draw.h
xtt/lib/glow/src/glow_draw.h
+3
-3
xtt/lib/glow/src/glow_growannot.cpp
xtt/lib/glow/src/glow_growannot.cpp
+68
-28
xtt/lib/glow/src/glow_growapi.cpp
xtt/lib/glow/src/glow_growapi.cpp
+5
-0
xtt/lib/glow/src/glow_growaxis.cpp
xtt/lib/glow/src/glow_growaxis.cpp
+14
-14
xtt/lib/glow/src/glow_growaxisarc.cpp
xtt/lib/glow/src/glow_growaxisarc.cpp
+3
-3
xtt/lib/glow/src/glow_growctx.cpp
xtt/lib/glow/src/glow_growctx.cpp
+1
-1
xtt/lib/glow/src/glow_growfolder.cpp
xtt/lib/glow/src/glow_growfolder.cpp
+1
-1
xtt/lib/glow/src/glow_growmenu.cpp
xtt/lib/glow/src/glow_growmenu.cpp
+3
-3
xtt/lib/glow/src/glow_growtable.cpp
xtt/lib/glow/src/glow_growtable.cpp
+6
-6
xtt/lib/glow/src/glow_growtext.cpp
xtt/lib/glow/src/glow_growtext.cpp
+137
-30
xtt/lib/glow/src/glow_growtext.h
xtt/lib/glow/src/glow_growtext.h
+1
-0
xtt/lib/glow/src/glow_text.cpp
xtt/lib/glow/src/glow_text.cpp
+2
-2
xtt/lib/glow/src/glow_tiptext.cpp
xtt/lib/glow/src/glow_tiptext.cpp
+2
-2
No files found.
xtt/lib/glow/gtk/glow_draw_gtk.cpp
View file @
981fa508
...
...
@@ -1607,13 +1607,14 @@ int GlowDrawGtk::polyline_erase( GlowWind *wind, glow_sPointX *points, int point
int
GlowDrawGtk
::
text
(
GlowWind
*
wind
,
int
x
,
int
y
,
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
glow_eDrawType
color
,
int
idx
,
int
highlight
,
int
line
,
glow_eFont
font_idx
,
double
size
)
int
highlight
,
int
line
,
glow_eFont
font_idx
,
double
size
,
int
rot
)
{
if
(
ctx
->
nodraw
)
return
1
;
DrawWindGtk
*
w
=
(
DrawWindGtk
*
)
wind
->
window
;
if
(
!
((
GrowCtx
*
)
ctx
)
->
bitmap_fonts
)
return
text_pango
(
wind
,
x
,
y
,
text
,
len
,
gc_type
,
color
,
idx
,
highlight
,
line
,
font_idx
,
size
);
return
text_pango
(
wind
,
x
,
y
,
text
,
len
,
gc_type
,
color
,
idx
,
highlight
,
line
,
font_idx
,
size
,
rot
);
if
(
font_idx
>
glow_eFont_Courier
)
font_idx
=
glow_eFont_Helvetica
;
...
...
@@ -1674,10 +1675,10 @@ int GlowDrawGtk::text_cursor( GlowWind *wind, int x, int y, char *text, int len,
int
theight
,
tdescent
,
width
,
height
,
descent
;
get_text_extent
(
"A"
,
1
,
gc_type
,
idx
,
font
,
&
width
,
&
height
,
&
descent
,
size
);
&
width
,
&
height
,
&
descent
,
size
,
0
);
if
(
pos
!=
0
)
get_text_extent
(
text
,
pos
,
gc_type
,
idx
,
font
,
&
width
,
&
theight
,
&
tdescent
,
size
);
&
width
,
&
theight
,
&
tdescent
,
size
,
0
);
else
width
=
0
;
...
...
@@ -1702,13 +1703,13 @@ int GlowDrawGtk::text_cursor( GlowWind *wind, int x, int y, char *text, int len,
int
GlowDrawGtk
::
text_erase
(
GlowWind
*
wind
,
int
x
,
int
y
,
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
int
idx
,
int
line
,
glow_eFont
font_idx
,
double
size
)
double
size
,
int
rot
)
{
if
(
ctx
->
nodraw
)
return
1
;
DrawWindGtk
*
w
=
(
DrawWindGtk
*
)
wind
->
window
;
if
(
!
((
GrowCtx
*
)
ctx
)
->
bitmap_fonts
)
return
text_erase_pango
(
wind
,
x
,
y
,
text
,
len
,
gc_type
,
idx
,
line
,
font_idx
,
size
);
return
text_erase_pango
(
wind
,
x
,
y
,
text
,
len
,
gc_type
,
idx
,
line
,
font_idx
,
size
,
rot
);
if
(
font_idx
>
glow_eFont_Courier
)
font_idx
=
glow_eFont_Helvetica
;
...
...
@@ -1962,12 +1963,13 @@ void GlowDrawGtk::set_cursor( GlowWind *wind, glow_eDrawCursor cursor)
int
GlowDrawGtk
::
get_text_extent
(
const
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
int
idx
,
glow_eFont
font_idx
,
int
*
width
,
int
*
height
,
int
*
descent
,
double
size
)
int
*
width
,
int
*
height
,
int
*
descent
,
double
size
,
int
rot
)
{
int
text_width
,
text_ascent
,
text_descent
,
text_lbearing
,
text_rbearing
;
if
(
!
((
GrowCtx
*
)
ctx
)
->
bitmap_fonts
)
return
get_text_extent_pango
(
text
,
len
,
gc_type
,
idx
,
font_idx
,
width
,
height
,
descent
,
size
);
return
get_text_extent_pango
(
text
,
len
,
gc_type
,
idx
,
font_idx
,
width
,
height
,
descent
,
size
,
rot
);
if
(
font_idx
>
glow_eFont_Courier
)
font_idx
=
glow_eFont_Helvetica
;
...
...
@@ -3448,7 +3450,8 @@ static char *font_string( int font_idx, int font_type, double size)
int
GlowDrawGtk
::
text_pango
(
GlowWind
*
wind
,
int
x
,
int
y
,
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
glow_eDrawType
color
,
int
idx
,
int
highlight
,
int
line
,
glow_eFont
font_idx
,
double
size
)
int
highlight
,
int
line
,
glow_eFont
font_idx
,
double
size
,
int
rot
)
{
if
(
ctx
->
nodraw
)
return
1
;
DrawWindGtk
*
w
=
(
DrawWindGtk
*
)
wind
->
window
;
...
...
@@ -3469,7 +3472,6 @@ int GlowDrawGtk::text_pango( GlowWind *wind, int x, int y, char *text, int len,
gdk_gc_set_values
(
get_gc
(
this
,
gc_type
,
idx
),
&
xgcv
,
GDK_GC_FOREGROUND
);
}
PangoRenderer
*
pr
=
gdk_pango_renderer_get_default
(
screen
);
gdk_pango_renderer_set_gc
(
GDK_PANGO_RENDERER
(
pr
),
get_gc
(
this
,
gc_type
,
idx
));
...
...
@@ -3496,6 +3498,17 @@ int GlowDrawGtk::text_pango( GlowWind *wind, int x, int y, char *text, int len,
else
layout
=
gtk_widget_create_pango_layout
(
w
->
toplevel
,
text
);
if
(
rot
!=
0
)
{
rot
=
360
-
rot
;
PangoContext
*
pc
=
pango_layout_get_context
(
layout
);
pango_context_set_base_gravity
(
pc
,
PANGO_GRAVITY_SOUTH
);
PangoMatrix
lpm
=
PANGO_MATRIX_INIT
;
pango_matrix_rotate
(
&
lpm
,
(
double
)
rot
);
pango_context_set_matrix
(
pc
,
&
lpm
);
pango_layout_context_changed
(
layout
);
// pango_context_set_matrix( pc, 0);
}
PangoFontDescription
*
desc
=
pango_font_description_from_string
(
font_string
(
font_idx
,
font_type
,
size
));
pango_layout_set_font_description
(
layout
,
desc
);
pango_font_description_free
(
desc
);
...
...
@@ -3503,8 +3516,30 @@ int GlowDrawGtk::text_pango( GlowWind *wind, int x, int y, char *text, int len,
int
width
,
height
;
pango_layout_get_size
(
layout
,
&
width
,
&
height
);
height
*=
0.9
;
pango_renderer_draw_layout
(
pr
,
layout
,
PANGO_SCALE
*
x
,
PANGO_SCALE
*
y
-
(
1.0
-
FONT_DESCENT
)
*
height
);
int
px
,
py
;
if
(
rot
==
180
)
{
px
=
-
PANGO_SCALE
*
x
-
width
;
py
=
-
PANGO_SCALE
*
y
-
FONT_DESCENT
*
height
;
}
else
if
(
rot
==
90
)
{
px
=
-
PANGO_SCALE
*
y
-
width
+
height
/
2
;
py
=
PANGO_SCALE
*
x
;
}
else
if
(
rot
==
270
)
{
px
=
PANGO_SCALE
*
y
-
width
;
py
=
-
PANGO_SCALE
*
x
-
height
;
}
else
{
px
=
PANGO_SCALE
*
x
;
py
=
PANGO_SCALE
*
y
-
(
1.0
-
FONT_DESCENT
)
*
height
;
}
pango_renderer_draw_layout
(
pr
,
layout
,
px
,
py
);
if
(
rot
!=
0
)
{
PangoContext
*
pc
=
pango_layout_get_context
(
layout
);
pango_context_set_matrix
(
pc
,
0
);
}
g_object_unref
(
layout
);
}
gdk_pango_renderer_set_drawable
(
GDK_PANGO_RENDERER
(
pr
),
0
);
...
...
@@ -3528,10 +3563,11 @@ int GlowDrawGtk::text_pango( GlowWind *wind, int x, int y, char *text, int len,
int
GlowDrawGtk
::
text_erase_pango
(
GlowWind
*
wind
,
int
x
,
int
y
,
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
int
idx
,
int
line
,
glow_eFont
font_idx
,
double
size
)
double
size
,
int
rot
)
{
if
(
ctx
->
nodraw
)
return
1
;
DrawWindGtk
*
w
=
(
DrawWindGtk
*
)
wind
->
window
;
int
px
,
py
,
pw
,
ph
;
if
(
font_idx
>=
glow_eFont__
)
font_idx
=
glow_eFont_Helvetica
;
...
...
@@ -3566,16 +3602,34 @@ int GlowDrawGtk::text_erase_pango( GlowWind *wind, int x, int y, char *text, int
int
width
,
height
;
pango_layout_get_size
(
layout
,
&
width
,
&
height
);
height
*=
0.9
;
if
(
rot
==
90
)
{
px
=
x
;
// - height/PANGO_SCALE/2;
py
=
y
-
width
/
PANGO_SCALE
;
ph
=
width
/
PANGO_SCALE
;
pw
=
height
/
PANGO_SCALE
;
}
else
if
(
rot
==
270
)
{
px
=
x
;
// - height/PANGO_SCALE/2;
py
=
y
-
height
/
PANGO_SCALE
/
2
;
ph
=
width
/
PANGO_SCALE
;
pw
=
height
/
PANGO_SCALE
;
}
else
{
px
=
x
;
py
=
y
-
(
1.0
-
FONT_DESCENT
)
*
height
/
PANGO_SCALE
;
pw
=
width
/
PANGO_SCALE
;
ph
=
height
/
PANGO_SCALE
;
}
if
(
!
w
->
draw_buffer_only
)
gdk_draw_rectangle
(
w
->
window
,
get_gc
(
this
,
gc_type
,
idx
),
1
,
x
,
y
-
(
1.0
-
FONT_DESCENT
)
*
height
/
PANGO_SCALE
,
width
/
PANGO_SCALE
,
height
/
PANGO_SCALE
);
px
,
py
,
pw
,
ph
);
if
(
w
->
double_buffer_on
)
gdk_draw_rectangle
(
w
->
buffer
,
get_gc
(
this
,
gc_type
,
idx
),
1
,
x
,
y
-
(
1.0
-
FONT_DESCENT
)
*
height
/
PANGO_SCALE
,
width
/
PANGO_SCALE
,
height
/
PANGO_SCALE
);
px
,
py
,
pw
,
ph
);
g_object_unref
(
layout
);
gdk_pango_renderer_set_drawable
(
GDK_PANGO_RENDERER
(
pr
),
0
);
...
...
@@ -3589,7 +3643,8 @@ int GlowDrawGtk::text_erase_pango( GlowWind *wind, int x, int y, char *text, int
int
GlowDrawGtk
::
get_text_extent_pango
(
const
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
int
idx
,
glow_eFont
font_idx
,
int
*
width
,
int
*
height
,
int
*
descent
,
double
size
)
int
*
width
,
int
*
height
,
int
*
descent
,
double
size
,
int
rot
)
{
DrawWindGtk
*
w
=
&
m_wind
;
...
...
@@ -3624,14 +3679,21 @@ int GlowDrawGtk::get_text_extent_pango( const char *text, int len,
pango_layout_get_size
(
layout
,
&
lwidth
,
&
lheight
);
lheight
*=
0.9
;
*
width
=
lwidth
/
PANGO_SCALE
;
*
height
=
lheight
/
PANGO_SCALE
;
if
(
rot
==
90
||
rot
==
270
)
{
*
height
=
lwidth
/
PANGO_SCALE
;
*
width
=
lheight
/
PANGO_SCALE
;
}
else
{
*
width
=
lwidth
/
PANGO_SCALE
;
*
height
=
lheight
/
PANGO_SCALE
;
}
*
descent
=
FONT_DESCENT
*
lheight
/
PANGO_SCALE
;
g_object_unref
(
layout
);
gdk_pango_renderer_set_drawable
(
GDK_PANGO_RENDERER
(
pr
),
0
);
gdk_pango_renderer_set_gc
(
GDK_PANGO_RENDERER
(
pr
),
0
);
return
1
;
}
...
...
xtt/lib/glow/gtk/glow_draw_gtk.h
View file @
981fa508
...
...
@@ -140,13 +140,13 @@ class GlowDrawGtk : public GlowDraw {
int
idx
);
virtual
int
text
(
GlowWind
*
w
,
int
x
,
int
y
,
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
glow_eDrawType
color
,
int
idx
,
int
highlight
,
int
line
,
glow_eFont
font_idx
,
double
size
);
int
line
,
glow_eFont
font_idx
,
double
size
,
int
rot
);
virtual
int
text_cursor
(
GlowWind
*
w
,
int
x
,
int
y
,
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
glow_eDrawType
color
,
int
idx
,
int
highlight
,
int
pos
,
glow_eFont
font
,
double
size
);
virtual
int
text_erase
(
GlowWind
*
w
,
int
x
,
int
y
,
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
int
idx
,
int
line
,
glow_eFont
font_idx
,
double
size
);
double
size
,
int
rot
);
virtual
int
fill_rect
(
GlowWind
*
w
,
int
x
,
int
y
,
int
width
,
int
height
,
glow_eDrawType
gc_type
);
virtual
int
pixmaps_create
(
GlowWind
*
w
,
glow_sPixmapData
*
pixmap_data
,
...
...
@@ -164,7 +164,7 @@ class GlowDrawGtk : public GlowDraw {
virtual
void
set_cursor
(
GlowWind
*
w
,
glow_eDrawCursor
cursor
);
virtual
int
get_text_extent
(
const
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
int
idx
,
glow_eFont
font_idx
,
int
*
width
,
int
*
height
,
int
*
descent
,
double
size
);
int
*
width
,
int
*
height
,
int
*
descent
,
double
size
,
int
rot
);
virtual
void
copy_area
(
GlowWind
*
w
,
int
x
,
int
y
);
virtual
void
clear_area
(
GlowWind
*
w
,
int
ll_x
,
int
ur_x
,
int
ll_y
,
int
ur_y
);
virtual
void
set_inputfocus
(
GlowWind
*
w
);
...
...
@@ -237,13 +237,13 @@ class GlowDrawGtk : public GlowDraw {
glow_eGradient
gradient
);
int
text_pango
(
GlowWind
*
wind
,
int
x
,
int
y
,
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
glow_eDrawType
color
,
int
idx
,
int
highlight
,
int
line
,
glow_eFont
font_idx
,
double
size
);
int
highlight
,
int
line
,
glow_eFont
font_idx
,
double
size
,
int
rot
);
int
text_erase_pango
(
GlowWind
*
wind
,
int
x
,
int
y
,
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
int
idx
,
int
line
,
glow_eFont
font_idx
,
double
size
);
double
size
,
int
rot
);
int
get_text_extent_pango
(
const
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
int
idx
,
glow_eFont
font_idx
,
int
*
width
,
int
*
height
,
int
*
descent
,
double
size
);
int
*
width
,
int
*
height
,
int
*
descent
,
double
size
,
int
rot
);
void
log_event
(
GdkEvent
*
event
);
virtual
void
event_exec
(
void
*
event
,
unsigned
int
size
);
...
...
xtt/lib/glow/motif/glow_draw_xlib.cpp
View file @
981fa508
...
...
@@ -1649,7 +1649,8 @@ int GlowDrawXLib::polyline_erase( GlowWind *wind, glow_sPointX *points, int poin
int
GlowDrawXLib
::
text
(
GlowWind
*
wind
,
int
x
,
int
y
,
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
glow_eDrawType
color
,
int
idx
,
int
highlight
,
int
line
,
glow_eFont
font_idx
,
double
size
)
int
highlight
,
int
line
,
glow_eFont
font_idx
,
double
size
,
int
rot
)
{
if
(
ctx
->
nodraw
)
return
1
;
DrawWindXLib
*
w
=
(
DrawWindXLib
*
)
wind
->
window
;
...
...
@@ -1732,7 +1733,7 @@ int GlowDrawXLib::text_cursor( GlowWind *wind, int x, int y, char *text, int len
int
GlowDrawXLib
::
text_erase
(
GlowWind
*
wind
,
int
x
,
int
y
,
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
int
idx
,
int
line
,
glow_eFont
font_idx
,
double
size
)
glow_eFont
font_idx
,
double
size
,
int
rot
)
{
if
(
ctx
->
nodraw
)
return
1
;
DrawWindXLib
*
w
=
(
DrawWindXLib
*
)
wind
->
window
;
...
...
@@ -2079,7 +2080,8 @@ void GlowDrawXLib::set_cursor( GlowWind *wind, glow_eDrawCursor cursor)
int
GlowDrawXLib
::
get_text_extent
(
const
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
int
idx
,
glow_eFont
font_idx
,
int
*
width
,
int
*
height
,
int
*
descent
,
double
size
)
int
*
width
,
int
*
height
,
int
*
descent
,
double
size
,
int
rot
)
{
int
text_direction
,
text_ascent
,
text_descent
;
XCharStruct
char_struct
;
...
...
xtt/lib/glow/motif/glow_draw_xlib.h
View file @
981fa508
...
...
@@ -169,13 +169,13 @@ class GlowDrawXLib : public GlowDraw {
int
idx
);
virtual
int
text
(
GlowWind
*
w
,
int
x
,
int
y
,
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
glow_eDrawType
color
,
int
idx
,
int
highlight
,
int
line
,
glow_eFont
font_idx
,
double
size
);
int
line
,
glow_eFont
font_idx
,
double
size
,
int
rot
);
virtual
int
text_cursor
(
GlowWind
*
w
,
int
x
,
int
y
,
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
glow_eDrawType
color
,
int
idx
,
int
highlight
,
int
pos
,
glow_eFont
font_idx
,
double
size
);
virtual
int
text_erase
(
GlowWind
*
w
,
int
x
,
int
y
,
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
int
idx
,
int
line
,
glow_eFont
font_idx
,
double
size
);
double
size
,
int
rot
);
virtual
int
fill_rect
(
GlowWind
*
w
,
int
x
,
int
y
,
int
width
,
int
height
,
glow_eDrawType
gc_type
);
virtual
int
pixmaps_create
(
GlowWind
*
w
,
glow_sPixmapData
*
pixmap_data
,
...
...
@@ -193,7 +193,7 @@ class GlowDrawXLib : public GlowDraw {
virtual
void
set_cursor
(
GlowWind
*
w
,
glow_eDrawCursor
cursor
);
virtual
int
get_text_extent
(
const
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
int
idx
,
glow_eFont
font_idx
,
int
*
width
,
int
*
height
,
int
*
descent
,
double
size
);
int
*
width
,
int
*
height
,
int
*
descent
,
double
size
,
int
rot
);
virtual
void
copy_area
(
GlowWind
*
w
,
int
x
,
int
y
);
virtual
void
clear_area
(
GlowWind
*
w
,
int
ll_x
,
int
ur_x
,
int
ll_y
,
int
ur_y
);
virtual
void
set_inputfocus
(
GlowWind
*
w
);
...
...
xtt/lib/glow/src/glow.h
View file @
981fa508
...
...
@@ -1465,6 +1465,7 @@ typedef enum {
glow_eSave_GrowText_original_color_drawtype
=
3008
,
glow_eSave_GrowText_trf
=
3009
,
glow_eSave_GrowText_font
=
3010
,
glow_eSave_GrowText_adjustment
=
3011
,
glow_eSave_GrowBar_max_value
=
3100
,
glow_eSave_GrowBar_min_value
=
3101
,
glow_eSave_GrowBar_bar_value
=
3102
,
...
...
xtt/lib/glow/src/glow_annot.cpp
View file @
981fa508
...
...
@@ -110,7 +110,7 @@ void glow_measure_annot_text( GrowCtx *ctx, char *text, glow_eDrawType draw_type
case
glow_eAnnotType_OneLine
:
ctx
->
gdraw
->
get_text_extent
(
text
,
strlen
(
text
),
draw_type
,
text_size
,
font
,
&
z_width
,
&
z_height
,
&
z_descent
,
ctx
->
mw
.
zoom_factor_y
/
ctx
->
mw
.
base_zoom_factor
*
(
8
+
2
*
text_size
));
ctx
->
mw
.
zoom_factor_y
/
ctx
->
mw
.
base_zoom_factor
*
(
8
+
2
*
text_size
)
,
0
);
*
rows
=
1
;
break
;
case
glow_eAnnotType_MultiLine
:
...
...
@@ -129,7 +129,7 @@ void glow_measure_annot_text( GrowCtx *ctx, char *text, glow_eDrawType draw_type
{
ctx
->
gdraw
->
get_text_extent
(
line
,
len
,
draw_type
,
text_size
,
font
,
&
l_width
,
&
l_height
,
&
l_descent
,
ctx
->
mw
.
zoom_factor_y
/
ctx
->
mw
.
base_zoom_factor
*
(
8
+
2
*
text_size
));
ctx
->
mw
.
zoom_factor_y
/
ctx
->
mw
.
base_zoom_factor
*
(
8
+
2
*
text_size
)
,
0
);
z_width
=
max
(
z_width
,
l_width
);
}
len
=
0
;
...
...
@@ -143,7 +143,7 @@ void glow_measure_annot_text( GrowCtx *ctx, char *text, glow_eDrawType draw_type
{
ctx
->
gdraw
->
get_text_extent
(
line
,
len
,
draw_type
,
text_size
,
font
,
&
l_width
,
&
l_height
,
&
l_descent
,
ctx
->
mw
.
zoom_factor_y
/
ctx
->
mw
.
base_zoom_factor
*
(
8
+
2
*
text_size
));
ctx
->
mw
.
zoom_factor_y
/
ctx
->
mw
.
base_zoom_factor
*
(
8
+
2
*
text_size
)
,
0
);
z_width
=
max
(
z_width
,
l_width
);
line_cnt
++
;
}
...
...
xtt/lib/glow/src/glow_draw.h
View file @
981fa508
...
...
@@ -93,13 +93,13 @@ class GlowDraw {
int
idx
)
{
return
1
;}
virtual
int
text
(
GlowWind
*
w
,
int
x
,
int
y
,
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
glow_eDrawType
color
,
int
idx
,
int
highlight
,
int
line
,
glow_eFont
font_idx
,
double
size
)
{
return
1
;}
int
line
,
glow_eFont
font_idx
,
double
size
,
int
rot
)
{
return
1
;}
virtual
int
text_cursor
(
GlowWind
*
w
,
int
x
,
int
y
,
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
glow_eDrawType
color
,
int
idx
,
int
highlight
,
int
pos
,
glow_eFont
font
,
double
size
)
{
return
1
;}
virtual
int
text_erase
(
GlowWind
*
w
,
int
x
,
int
y
,
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
int
idx
,
int
line
,
glow_eFont
font_idx
,
double
size
)
{
return
1
;}
double
size
,
int
rot
)
{
return
1
;}
virtual
int
fill_rect
(
GlowWind
*
w
,
int
x
,
int
y
,
int
width
,
int
height
,
glow_eDrawType
gc_type
)
{
return
1
;}
virtual
int
pixmaps_create
(
GlowWind
*
w
,
glow_sPixmapData
*
pixmap_data
,
...
...
@@ -118,7 +118,7 @@ class GlowDraw {
virtual
void
set_nav_cursor
(
glow_eDrawCursor
cursor
)
{}
virtual
int
get_text_extent
(
const
char
*
text
,
int
len
,
glow_eDrawType
gc_type
,
int
idx
,
glow_eFont
font_idx
,
int
*
width
,
int
*
height
,
int
*
descent
,
double
size
)
{
return
1
;}
int
*
width
,
int
*
height
,
int
*
descent
,
double
size
,
int
rot
)
{
return
1
;}
virtual
void
copy_area
(
GlowWind
*
w
,
int
x
,
int
y
)
{}
virtual
void
clear_area
(
GlowWind
*
w
,
int
ll_x
,
int
ur_x
,
int
ll_y
,
int
ur_y
)
{}
virtual
void
set_inputfocus
(
GlowWind
*
w
)
{}
...
...
xtt/lib/glow/src/glow_growannot.cpp
View file @
981fa508
...
...
@@ -166,7 +166,7 @@ void GrowAnnot::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, voi
ctx
->
gdraw
->
get_text_extent
(
((
GlowNode
*
)
node
)
->
annotv
[
number
],
strlen
(((
GlowNode
*
)
node
)
->
annotv
[
number
]),
ldraw_type
,
idx
,
lfont
,
&
width
,
&
height
,
&
descent
,
tsize
);
&
width
,
&
height
,
&
descent
,
tsize
,
0
);
switch
(
adjustment
)
{
case
glow_eAdjustment_Left
:
...
...
@@ -189,22 +189,42 @@ void GrowAnnot::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, voi
}
else
{
// Text is rotated, adjust the coordinates
if
(
45
<=
rot
&&
rot
<
135
)
{
y1
+=
height
-
descent
;
}
else
if
(
135
<=
rot
&&
rot
<
225
)
{
x1
-=
width
;
y1
+=
height
-
descent
;
if
(
adjustment
==
glow_eAdjustment_Center
)
{
// Only center adjustment supports text rotation
if
(
45
<=
rot
&&
rot
<
135
)
{
x1
+=
width
/
2
;
y1
+=
width
/
2
;
}
else
if
(
135
<=
rot
&&
rot
<
225
)
{
y1
+=
height
-
descent
;
}
else
if
(
225
<=
rot
&&
rot
<
315
)
{
x1
+=
width
/
2
-
height
+
descent
;
y1
-=
width
/
2
-
height
+
descent
;
}
else
{
x1
-=
width
;
}
}
else
{
x1
-=
width
;
if
(
45
<=
rot
&&
rot
<
135
)
{
y1
+=
height
-
descent
;
}
else
if
(
135
<=
rot
&&
rot
<
225
)
{
x1
-=
width
;
y1
+=
height
-
descent
;
}
else
{
x1
-=
width
;
}
rot
=
0
;
}
}
ctx
->
gdraw
->
text
(
w
,
x1
,
y1
,
((
GlowNode
*
)
node
)
->
annotv
[
number
],
strlen
(((
GlowNode
*
)
node
)
->
annotv
[
number
]),
ldraw_type
,
color
,
idx
,
highlight
,
0
,
lfont
,
tsize
);
highlight
,
0
,
lfont
,
tsize
,
rot
);
if
(
((
GlowNode
*
)
node
)
->
annotv_inputmode
[
number
])
ctx
->
gdraw
->
text_cursor
(
w
,
x1
,
y1
,
((
GlowNode
*
)
node
)
->
annotv
[
number
],
...
...
@@ -223,13 +243,13 @@ void GrowAnnot::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, voi
highlight
,
(
GrowNode
*
)
colornode
,
2
);
ctx
->
gdraw
->
get_text_extent
(
""
,
0
,
ldraw_type
,
idx
,
lfont
,
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
);
&
z_descent
,
tsize
,
0
);
for
(
s
=
((
GlowNode
*
)
node
)
->
annotv
[
number
];
*
s
;
s
++
)
{
if
(
*
s
==
10
)
{
if
(
len
)
{
*
s
=
0
;
ctx
->
gdraw
->
text
(
w
,
x1
,
y1
+
line_cnt
*
z_height
,
line
,
len
,
ldraw_type
,
color
,
idx
,
highlight
,
0
,
lfont
,
tsize
);
len
,
ldraw_type
,
color
,
idx
,
highlight
,
0
,
lfont
,
tsize
,
0
);
*
s
=
10
;
}
len
=
0
;
...
...
@@ -241,7 +261,7 @@ void GrowAnnot::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, voi
}
if
(
len
)
ctx
->
gdraw
->
text
(
w
,
x1
,
y1
+
line_cnt
*
z_height
,
line
,
len
,
ldraw_type
,
color
,
idx
,
highlight
,
0
,
lfont
,
tsize
);
len
,
ldraw_type
,
color
,
idx
,
highlight
,
0
,
lfont
,
tsize
,
0
);
break
;
}
}
...
...
@@ -306,7 +326,7 @@ void GrowAnnot::erase( GlowWind *w, GlowTransform *t, int hot, void *node)
ctx
->
gdraw
->
get_text_extent
(
((
GlowNode
*
)
node
)
->
annotv
[
number
],
strlen
(((
GlowNode
*
)
node
)
->
annotv
[
number
]),
ldraw_type
,
idx
,
lfont
,
&
width
,
&
height
,
&
descent
,
tsize
);
&
width
,
&
height
,
&
descent
,
tsize
,
0
);
switch
(
adjustment
)
{
case
glow_eAdjustment_Left
:
...
...
@@ -325,22 +345,42 @@ void GrowAnnot::erase( GlowWind *w, GlowTransform *t, int hot, void *node)
if
(
!
(
rot
<
45
||
rot
>=
315
))
{
// Text is rotated, adjust the coordinates
if
(
45
<=
rot
&&
rot
<
135
)
{
y1
+=
height
-
descent
;
}
else
if
(
135
<=
rot
&&
rot
<
225
)
{
x1
-=
width
;
y1
+=
height
-
descent
;
if
(
adjustment
==
glow_eAdjustment_Center
)
{
// Only center adjustment supports text rotation
if
(
45
<=
rot
&&
rot
<
135
)
{
x1
+=
width
/
2
;
y1
+=
width
/
2
;
}
else
if
(
135
<=
rot
&&
rot
<
225
)
{
y1
+=
height
-
descent
;
}
else
if
(
225
<=
rot
&&
rot
<
315
)
{
x1
+=
width
/
2
-
height
+
descent
;
y1
-=
width
/
2
-
height
+
descent
;
}
else
{
x1
-=
width
;
}
}
else
{
x1
-=
width
;
if
(
45
<=
rot
&&
rot
<
135
)
{
y1
+=
height
-
descent
;
}
else
if
(
135
<=
rot
&&
rot
<
225
)
{
x1
-=
width
;
y1
+=
height
-
descent
;
}
else
{
x1
-=
width
;
}
rot
=
0
;
}
}
ctx
->
gdraw
->
text_erase
(
w
,
x1
,
y1
,
((
GlowNode
*
)
node
)
->
annotv
[
number
],
strlen
(((
GlowNode
*
)
node
)
->
annotv
[
number
]),
ldraw_type
,
idx
,
0
,
lfont
,
tsize
);
tsize
,
rot
);
break
;
}
case
glow_eAnnotType_MultiLine
:
...
...
@@ -351,13 +391,13 @@ void GrowAnnot::erase( GlowWind *w, GlowTransform *t, int hot, void *node)
char
*
line
=
((
GlowNode
*
)
node
)
->
annotv
[
number
];
char
*
s
;
ctx
->
gdraw
->
get_text_extent
(
""
,
0
,
ldraw_type
,
idx
,
lfont
,
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
);
&
z_descent
,
tsize
,
0
);
for
(
s
=
((
GlowNode
*
)
node
)
->
annotv
[
number
];
*
s
;
s
++
)
{
if
(
*
s
==
10
)
{
if
(
len
)
{
*
s
=
0
;
ctx
->
gdraw
->
text_erase
(
w
,
x1
,
y1
+
line_cnt
*
z_height
,
line
,
len
,
ldraw_type
,
idx
,
0
,
lfont
,
tsize
);
len
,
ldraw_type
,
idx
,
0
,
lfont
,
tsize
,
0
);
*
s
=
10
;
}
len
=
0
;
...
...
@@ -369,7 +409,7 @@ void GrowAnnot::erase( GlowWind *w, GlowTransform *t, int hot, void *node)
}
if
(
len
)
ctx
->
gdraw
->
text_erase
(
w
,
x1
,
y1
+
line_cnt
*
z_height
,
line
,
len
,
ldraw_type
,
idx
,
0
,
lfont
,
tsize
);
len
,
ldraw_type
,
idx
,
0
,
lfont
,
tsize
,
0
);
break
;
}
}
...
...
@@ -427,7 +467,7 @@ void GrowAnnot::erase_background( GlowWind *w, GlowTransform *t, int hot, void *
ctx
->
gdraw
->
text_erase
(
w
,
x1
,
y1
,
((
GlowNode
*
)
node
)
->
annotv
[
number
],
strlen
(((
GlowNode
*
)
node
)
->
annotv
[
number
]),
ldraw_type
,
idx
,
0
,
lfont
,
tsize
);
lfont
,
tsize
,
0
);
break
;
}
case
glow_eAnnotType_MultiLine
:
{
...
...
@@ -437,13 +477,13 @@ void GrowAnnot::erase_background( GlowWind *w, GlowTransform *t, int hot, void *
char
*
line
=
((
GlowNode
*
)
node
)
->
annotv
[
number
];
char
*
s
;
ctx
->
gdraw
->
get_text_extent
(
""
,
0
,
ldraw_type
,
idx
,
lfont
,
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
);
&
z_descent
,
tsize
,
0
);
for
(
s
=
((
GlowNode
*
)
node
)
->
annotv
[
number
];
*
s
;
s
++
)
{
if
(
*
s
==
10
)
{
if
(
len
)
{
*
s
=
0
;
ctx
->
gdraw
->
text_erase
(
w
,
x1
,
y1
+
line_cnt
*
z_height
,
line
,
len
,
ldraw_type
,
idx
,
0
,
lfont
,
tsize
);
len
,
ldraw_type
,
idx
,
0
,
lfont
,
tsize
,
0
);
*
s
=
10
;
}
len
=
0
;
...
...
@@ -455,7 +495,7 @@ void GrowAnnot::erase_background( GlowWind *w, GlowTransform *t, int hot, void *
}
if
(
len
)
ctx
->
gdraw
->
text_erase
(
w
,
x1
,
y1
+
line_cnt
*
z_height
,
line
,
len
,
ldraw_type
,
idx
,
0
,
lfont
,
tsize
);
len
,
ldraw_type
,
idx
,
0
,
lfont
,
tsize
,
0
);
break
;
}
}
...
...
xtt/lib/glow/src/glow_growapi.cpp
View file @
981fa508
...
...
@@ -1614,6 +1614,11 @@ int grow_GetObjectAttrInfo( grow_tObject object, char *transtab,
attrinfo
[
i
].
type
=
glow_eType_String
;
attrinfo
[
i
++
].
size
=
sizeof
(
op
->
text
);
strcpy
(
attrinfo
[
i
].
name
,
"Adjustment"
);
attrinfo
[
i
].
value_p
=
&
op
->
adjustment
;
attrinfo
[
i
].
type
=
glow_eType_Adjustment
;
attrinfo
[
i
++
].
size
=
sizeof
(
op
->
adjustment
);
strcpy
(
attrinfo
[
i
].
name
,
"Dynamic"
);
op
->
get_dynamic
(
&
dynamic
,
&
dynsize
);
attrinfo
[
i
].
value_p
=
malloc
(
1024
);
...
...
xtt/lib/glow/src/glow_growaxis.cpp
View file @
981fa508
...
...
@@ -297,7 +297,7 @@ void GrowAxis::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, void
format_text
(
text
,
format
,
max_value
-
i
*
increment
);
ctx
->
gdraw
->
get_text_extent
(
text
,
strlen
(
text
),
text_drawtype
,
max
(
0
,
text_idx
),
glow_eFont_Helvetica
,
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
);
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
,
0
);
if
(
max_z_width
<
z_width
)
max_z_width
=
z_width
;
}
...
...
@@ -333,7 +333,7 @@ void GrowAxis::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, void
y_text
=
y
+
(
z_height
-
z_descent
)
/
2
;
ctx
->
gdraw
->
text
(
w
,
ll_x
,
y_text
,
text
,
strlen
(
text
),
text_drawtype
,
text_color_drawtype
,
text_idx
,
highlight
,
0
,
glow_eFont_Helvetica
,
tsize
);
text_idx
,
highlight
,
0
,
glow_eFont_Helvetica
,
tsize
,
0
);
}
}
}
...
...
@@ -347,7 +347,7 @@ void GrowAxis::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, void
if
(
draw_text
)
{
ctx
->
gdraw
->
get_text_extent
(
"0"
,
1
,
text_drawtype
,
max
(
0
,
text_idx
),
glow_eFont_Helvetica
,
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
);
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
,
0
);
line_length
=
ur_y
-
ll_y
-
z_height
;
if
(
line_length
<
3
)
...
...
@@ -370,7 +370,7 @@ void GrowAxis::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, void
format_text
(
text
,
format
,
max_value
-
i
*
increment
);
ctx
->
gdraw
->
get_text_extent
(
text
,
strlen
(
text
),
text_drawtype
,
max
(
0
,
text_idx
),
glow_eFont_Helvetica
,
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
);
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
,
0
);
if
(
text_idx
>=
0
&&
z_height
<
ur_y
-
ll_y
)
{
if
(
i
==
lines
-
1
)
...
...
@@ -381,7 +381,7 @@ void GrowAxis::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, void
x_text
=
x
-
(
z_width
)
/
2
;
ctx
->
gdraw
->
text
(
w
,
x_text
,
ll_y
+
z_height
-
z_descent
,
text
,
strlen
(
text
),
text_drawtype
,
text_color_drawtype
,
text_idx
,
highlight
,
0
,
glow_eFont_Helvetica
,
tsize
);
text_idx
,
highlight
,
0
,
glow_eFont_Helvetica
,
tsize
,
0
);
}
}
}
...
...
@@ -398,7 +398,7 @@ void GrowAxis::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, void
format_text
(
text
,
format
,
max_value
-
i
*
increment
);
ctx
->
gdraw
->
get_text_extent
(
text
,
strlen
(
text
),
text_drawtype
,
max
(
0
,
text_idx
),
glow_eFont_Helvetica
,
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
);
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
,
0
);
if
(
max_z_width
<
z_width
)
max_z_width
=
z_width
;
}
...
...
@@ -434,7 +434,7 @@ void GrowAxis::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, void
y_text
=
y
+
(
z_height
-
z_descent
)
/
2
;
ctx
->
gdraw
->
text
(
w
,
x_text
,
y_text
,
text
,
strlen
(
text
),
text_drawtype
,
text_color_drawtype
,
text_idx
,
highlight
,
0
,
glow_eFont_Helvetica
,
tsize
);
text_idx
,
highlight
,
0
,
glow_eFont_Helvetica
,
tsize
,
0
);
}
}
}
...
...
@@ -447,7 +447,7 @@ void GrowAxis::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, void
if
(
draw_text
)
{
ctx
->
gdraw
->
get_text_extent
(
"0"
,
1
,
text_drawtype
,
max
(
0
,
text_idx
),
glow_eFont_Helvetica
,
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
);
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
,
0
);
line_length
=
ur_y
-
ll_y
-
(
z_height
-
z_descent
);
if
(
line_length
<
3
)
...
...
@@ -469,7 +469,7 @@ void GrowAxis::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, void
format_text
(
text
,
format
,
max_value
-
i
*
increment
);
ctx
->
gdraw
->
get_text_extent
(
text
,
strlen
(
text
),
text_drawtype
,
max
(
0
,
text_idx
),
glow_eFont_Helvetica
,
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
);
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
,
0
);
if
(
text_idx
>=
0
&&
z_height
-
z_descent
<
ur_y
-
ll_y
)
{
if
(
i
==
lines
-
1
)
...
...
@@ -480,7 +480,7 @@ void GrowAxis::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, void
x_text
=
x
-
(
z_width
)
/
2
;
ctx
->
gdraw
->
text
(
w
,
x_text
,
ur_y
,
text
,
strlen
(
text
),
text_drawtype
,
text_color_drawtype
,
text_idx
,
highlight
,
0
,
glow_eFont_Helvetica
,
tsize
);
text_idx
,
highlight
,
0
,
glow_eFont_Helvetica
,
tsize
,
0
);
}
}
}
...
...
@@ -666,7 +666,7 @@ void GrowAxis::export_javabean( GlowTransform *t, void *node,
format_text
(
text
,
format
,
max_value
-
i
*
increment
);
ctx
->
gdraw
->
get_text_extent
(
text
,
strlen
(
text
),
text_drawtype
,
max
(
0
,
idx
),
glow_eFont_Helvetica
,
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
);
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
,
0
);
if
(
max_z_width
<
z_width
)
max_z_width
=
z_width
;
}
...
...
@@ -681,7 +681,7 @@ void GrowAxis::export_javabean( GlowTransform *t, void *node,
if
(
draw_text
)
{
ctx
->
gdraw
->
get_text_extent
(
"0"
,
1
,
text_drawtype
,
max
(
0
,
idx
),
glow_eFont_Helvetica
,
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
);
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
,
0
);
line_length
=
int
(
ur_y
-
ll_y
)
-
(
z_height
-
z_descent
);
}
...
...
@@ -696,7 +696,7 @@ void GrowAxis::export_javabean( GlowTransform *t, void *node,
format_text
(
text
,
format
,
max_value
-
i
*
increment
);
ctx
->
gdraw
->
get_text_extent
(
text
,
strlen
(
text
),
text_drawtype
,
max
(
0
,
idx
),
glow_eFont_Helvetica
,
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
);
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
,
0
);
if
(
max_z_width
<
z_width
)
max_z_width
=
z_width
;
}
...
...
@@ -711,7 +711,7 @@ void GrowAxis::export_javabean( GlowTransform *t, void *node,
if
(
draw_text
)
{
ctx
->
gdraw
->
get_text_extent
(
"0"
,
1
,
text_drawtype
,
max
(
0
,
idx
),
glow_eFont_Helvetica
,
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
);
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
,
0
);
line_length
=
int
(
ur_y
-
ll_y
)
-
(
z_height
-
z_descent
);
}
...
...
xtt/lib/glow/src/glow_growaxisarc.cpp
View file @
981fa508
...
...
@@ -287,7 +287,7 @@ void GrowAxisArc::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, v
format_text
(
text
,
format
,
min_value
+
increment
);
ctx
->
gdraw
->
get_text_extent
(
text
,
strlen
(
text
),
text_drawtype
,
max
(
0
,
text_idx
),
glow_eFont_Helvetica
,
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
);
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
,
0
);
// z_descent=0;
double
line_angle
=
(
double
)
angle2
/
(
lines
-
1
);
...
...
@@ -318,7 +318,7 @@ void GrowAxisArc::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, v
format_text
(
text
,
format
,
min_value
+
i
*
increment
);
ctx
->
gdraw
->
get_text_extent
(
text
,
strlen
(
text
),
text_drawtype
,
max
(
0
,
text_idx
),
glow_eFont_Helvetica
,
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
);
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
,
0
);
if
(
i
==
lines
-
1
&&
angle1
==
0
&&
angle2
==
180
)
{
//yt = yt - (z_height-z_descent)/2;
...
...
@@ -334,7 +334,7 @@ void GrowAxisArc::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, v
}
ctx
->
gdraw
->
text
(
w
,
xt
,
yt
,
text
,
strlen
(
text
),
text_drawtype
,
text_color_drawtype
,
text_idx
,
highlight
,
0
,
glow_eFont_Helvetica
,
tsize
);
text_idx
,
highlight
,
0
,
glow_eFont_Helvetica
,
tsize
,
0
);
}
}
}
...
...
xtt/lib/glow/src/glow_growctx.cpp
View file @
981fa508
...
...
@@ -3825,7 +3825,7 @@ void GrowCtx::get_text_extent( char *text, int len, glow_eDrawType draw_type,
double
tsize
=
mw
.
zoom_factor_y
/
mw
.
base_zoom_factor
*
(
8
+
2
*
text_size
);
gdraw
->
get_text_extent
(
text
,
len
,
draw_type
,
text_size
,
font
,
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
);
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
,
0
);
*
width
=
double
(
z_width
)
/
mw
.
zoom_factor_y
;
*
height
=
double
(
z_height
)
/
mw
.
zoom_factor_y
;
...
...
xtt/lib/glow/src/glow_growfolder.cpp
View file @
981fa508
...
...
@@ -445,7 +445,7 @@ void GrowFolder::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, vo
if
(
text_idx
>=
0
)
{
ctx
->
gdraw
->
text
(
w
,
x
+
h
/
2
,
ll_y
+
h
-
2
,
folder_text
[
i
],
strlen
(
folder_text
[
i
]),
text_drawtype
,
text_color_drawtype
,
text_idx
,
highlight
,
0
,
glow_eFont_Helvetica
,
tsize
);
text_idx
,
highlight
,
0
,
glow_eFont_Helvetica
,
tsize
,
0
);
}
if
(
i
==
current_folder
)
break
;
...
...
xtt/lib/glow/src/glow_growmenu.cpp
View file @
981fa508
...
...
@@ -182,7 +182,7 @@ void GrowMenu::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, void
if
(
info
.
item
[
i
].
occupied
)
{
ctx
->
gdraw
->
get_text_extent
(
info
.
item
[
i
].
text
,
strlen
(
info
.
item
[
i
].
text
),
text_drawtype
,
max
(
0
,
text_idx
),
font
,
&
z_width
,
&
z_height
,
&
z_descent
,
tsize
);
&
z_descent
,
tsize
,
0
);
if
(
z_width
>
max_z_width
)
max_z_width
=
z_width
;
tot_z_height
+=
int
(
1.6
*
z_height
);
...
...
@@ -237,10 +237,10 @@ void GrowMenu::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, void
}
if
(
info
.
item
[
i
].
type
==
glow_eMenuItem_ButtonDisabled
)
ctx
->
gdraw
->
text
(
w
,
x_text
,
y_text
,
info
.
item
[
i
].
text
,
strlen
(
info
.
item
[
i
].
text
),
text_drawtype
,
text_color_disabled
,
text_idx
,
highlight
,
0
,
font
,
tsize
);
text_color_disabled
,
text_idx
,
highlight
,
0
,
font
,
tsize
,
0
);
else
ctx
->
gdraw
->
text
(
w
,
x_text
,
y_text
,
info
.
item
[
i
].
text
,
strlen
(
info
.
item
[
i
].
text
),
text_drawtype
,
text_color
,
text_idx
,
highlight
,
0
,
font
,
tsize
);
text_color
,
text_idx
,
highlight
,
0
,
font
,
tsize
,
0
);
if
(
info
.
item
[
i
].
type
==
glow_eMenuItem_PulldownMenu
)
{
// Draw arrow
glow_sPointX
p
[
4
];
...
...
xtt/lib/glow/src/glow_growtable.cpp
View file @
981fa508
...
...
@@ -451,7 +451,7 @@ void GrowTable::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, voi
if
(
header_text_idx
>=
0
&&
strcmp
(
header_text
[
i
],
""
)
!=
0
)
{
ctx
->
gdraw
->
text
(
w
,
int
(
x
+
text_offs
),
int
(
y
+
header_h
-
4
),
header_text
[
i
],
strlen
(
header_text
[
i
]),
header_text_drawtype
,
header_text_color
,
header_text_idx
,
highlight
,
0
,
font
,
header_tsize
);
header_text_idx
,
highlight
,
0
,
font
,
header_tsize
,
0
);
}
x
+=
column_width
[
i
]
*
w
->
zoom_factor_x
;
if
(
x
>
ur_x
)
...
...
@@ -477,7 +477,7 @@ void GrowTable::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, voi
if
(
header_text_idx
>=
0
&&
strcmp
(
header_text
[
0
],
""
)
!=
0
)
ctx
->
gdraw
->
text
(
w
,
int
(
x
+
text_offs
),
int
(
y
+
header_h
-
4
),
header_text
[
0
],
strlen
(
header_text
[
0
]),
header_text_drawtype
,
header_text_color
,
header_text_idx
,
highlight
,
0
,
font
,
tsize
);
header_text_idx
,
highlight
,
0
,
font
,
tsize
,
0
);
}
}
...
...
@@ -531,7 +531,7 @@ void GrowTable::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, voi
int
width
,
height
,
descent
;
ctx
->
gdraw
->
get_text_extent
(
cell_value
+
offs
,
strlen
(
cell_value
+
offs
),
text_drawtype
,
text_idx
,
font
,
&
width
,
&
height
,
&
descent
,
tsize
);
&
width
,
&
height
,
&
descent
,
tsize
,
0
);
switch
(
column_adjustment
[
0
])
{
case
glow_eAdjustment_Left
:
...
...
@@ -546,7 +546,7 @@ void GrowTable::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, voi
}
ctx
->
gdraw
->
text
(
w
,
text_x
,
int
(
y
-
2
),
cell_value
+
offs
,
strlen
(
cell_value
+
offs
),
text_drawtype
,
text_color_drawtype
,
text_idx
,
highlight
,
0
,
font
,
tsize
);
text_idx
,
highlight
,
0
,
font
,
tsize
,
0
);
}
}
}
...
...
@@ -657,7 +657,7 @@ void GrowTable::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, voi
int
width
,
height
,
descent
;
ctx
->
gdraw
->
get_text_extent
(
cell_value
+
offs
,
strlen
(
cell_value
+
offs
),
text_drawtype
,
text_idx
,
font
,
&
width
,
&
height
,
&
descent
,
tsize
);
&
width
,
&
height
,
&
descent
,
tsize
,
0
);
switch
(
column_adjustment
[
i
])
{
case
glow_eAdjustment_Left
:
...
...
@@ -673,7 +673,7 @@ void GrowTable::draw( GlowWind *w, GlowTransform *t, int highlight, int hot, voi
ctx
->
gdraw
->
text
(
w
,
text_x
,
int
(
y
-
2
),
cell_value
+
offs
,
strlen
(
cell_value
+
offs
),
text_drawtype
,
text_color_drawtype
,
text_idx
,
highlight
,
0
,
font
,
tsize
);
text_idx
,
highlight
,
0
,
font
,
tsize
,
0
);
}
}
}
...
...
xtt/lib/glow/src/glow_growtext.cpp
View file @
981fa508
This diff is collapsed.
Click to expand it.
xtt/lib/glow/src/glow_growtext.h
View file @
981fa508
...
...
@@ -318,6 +318,7 @@ class GrowText : public GlowText {
char
last_group
[
32
];
//!< The last group the object was a member of.
glow_eDrawType
original_color_drawtype
;
//!< The original color, i.e. color drawn at edit time.
glow_eFont
font
;
//!< Text font
glow_eAdjustment
adjustment
;
//!< Text adjustment.
//! Set user data.
/*!
...
...
xtt/lib/glow/src/glow_text.cpp
View file @
981fa508
...
...
@@ -120,7 +120,7 @@ void GlowText::draw( GlowWind *w, void *pos, int highlight, int hot, void *node)
ctx
->
gdraw
->
text
(
w
,
p
.
z_x
+
((
GlowPoint
*
)
pos
)
->
z_x
-
w
->
offset_x
,
p
.
z_y
+
((
GlowPoint
*
)
pos
)
->
z_y
-
w
->
offset_y
,
text
,
strlen
(
text
),
draw_type
,
color_drawtype
,
idx
,
highlight
,
0
,
glow_eFont_Helvetica
,
w
->
zoom_factor_y
/
w
->
base_zoom_factor
*
(
8
+
2
*
text_size
));
w
->
zoom_factor_y
/
w
->
base_zoom_factor
*
(
8
+
2
*
text_size
)
,
0
);
}
void
GlowText
::
erase
(
GlowWind
*
w
,
void
*
pos
,
int
hot
,
void
*
node
)
...
...
@@ -132,7 +132,7 @@ void GlowText::erase( GlowWind *w, void *pos, int hot, void *node)
ctx
->
gdraw
->
text_erase
(
w
,
p
.
z_x
+
((
GlowPoint
*
)
pos
)
->
z_x
-
w
->
offset_x
,
p
.
z_y
+
((
GlowPoint
*
)
pos
)
->
z_y
-
w
->
offset_y
,
text
,
strlen
(
text
),
draw_type
,
idx
,
0
,
glow_eFont_Helvetica
,
w
->
zoom_factor_y
/
w
->
base_zoom_factor
*
(
8
+
2
*
text_size
));
w
->
zoom_factor_y
/
w
->
base_zoom_factor
*
(
8
+
2
*
text_size
)
,
0
);
}
int
GlowText
::
event_handler
(
GlowWind
*
w
,
void
*
pos
,
glow_eEvent
event
,
int
x
,
int
y
,
...
...
xtt/lib/glow/src/glow_tiptext.cpp
View file @
981fa508
...
...
@@ -72,7 +72,7 @@ void GlowTipText::draw_text( GlowArrayElem *e, char *text, int x, int y)
ctx
->
gdraw
->
get_text_extent
(
text
,
strlen
(
text
),
glow_eDrawType_TextHelvetica
,
text_size
,
glow_eFont_Helvetica
,
&
z_width
,
&
z_height
,
&
z_descent
,
ctx
->
mw
.
zoom_factor_y
/
ctx
->
mw
.
base_zoom_factor
*
(
8
+
2
*
text_size
));
ctx
->
mw
.
zoom_factor_y
/
ctx
->
mw
.
base_zoom_factor
*
(
8
+
2
*
text_size
)
,
0
);
text_x
=
x
;
text_y
=
y
;
...
...
@@ -106,7 +106,7 @@ void GlowTipText::draw()
ctx
->
gdraw
->
text
(
&
ctx
->
mw
,
text_x
+
2
,
text_y
+
text_height
-
text_descent
-
2
,
tiptext
,
strlen
(
tiptext
),
glow_eDrawType_TextHelvetica
,
glow_eDrawType_Line
,
text_size
,
0
,
0
,
glow_eFont_Helvetica
,
ctx
->
mw
.
zoom_factor_y
/
ctx
->
mw
.
base_zoom_factor
*
(
8
+
2
*
text_size
));
ctx
->
mw
.
zoom_factor_y
/
ctx
->
mw
.
base_zoom_factor
*
(
8
+
2
*
text_size
)
,
0
);
if
(
ctx
->
mw
.
double_buffer_on
()
&&
!
ctx
->
mw
.
draw_buffer_only
())
ctx
->
gdraw
->
copy_buffer
(
&
ctx
->
mw
,
text_x
,
text_y
,
text_x
+
text_width
,
text_y
+
text_height
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment