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
298e7e68
Commit
298e7e68
authored
Aug 26, 2004
by
claes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
New scale cursors, and status row in ge
parent
64bb037d
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
242 additions
and
24 deletions
+242
-24
xtt/lib/glow/src/glow.h
xtt/lib/glow/src/glow.h
+8
-0
xtt/lib/glow/src/glow_ctx.h
xtt/lib/glow/src/glow_ctx.h
+4
-0
xtt/lib/glow/src/glow_draw.cpp
xtt/lib/glow/src/glow_draw.cpp
+24
-0
xtt/lib/glow/src/glow_growapi.cpp
xtt/lib/glow/src/glow_growapi.cpp
+62
-0
xtt/lib/glow/src/glow_growapi.h
xtt/lib/glow/src/glow_growapi.h
+30
-0
xtt/lib/glow/src/glow_growctx.cpp
xtt/lib/glow/src/glow_growctx.cpp
+114
-24
No files found.
xtt/lib/glow/src/glow.h
View file @
298e7e68
...
...
@@ -696,6 +696,14 @@ typedef enum {
glow_eDrawCursor_CrossHair
,
//!< Crosshair cursor
glow_eDrawCursor_Hand
,
//!< Hand cursor
glow_eDrawCursor_DiamondCross
,
//!< Diamond cross cursor
glow_eDrawCursor_BottomLeftCorner
,
//!< Bottom left corner cursor
glow_eDrawCursor_BottomRightCorner
,
//!< Bottom right corner cursor
glow_eDrawCursor_BottomSide
,
//!< Bottom side cursor
glow_eDrawCursor_TopLeftCorner
,
//!< Top left corner cursor
glow_eDrawCursor_TopRightCorner
,
//!< Top right corner cursor
glow_eDrawCursor_TopSide
,
//!< Top side cursor
glow_eDrawCursor_RightSide
,
//!< Right side cursor
glow_eDrawCursor_LeftSide
,
//!< Left side cursor
glow_eDrawCursor__
}
glow_eDrawCursor
;
...
...
xtt/lib/glow/src/glow_ctx.h
View file @
298e7e68
...
...
@@ -780,6 +780,10 @@ class GlowCtx {
/*! \param show 1 display the grid points, 0 hide. */
void
set_show_grid
(
int
show
);
//! Get show grid.
/*! \return 1 grid points are displayed, 0 hidden. */
int
get_show_grid
()
{
return
show_grid
;}
//! Draw gridpoints in the specified area.
/*!
\param ll_x x coordinate for lower left corner of area in pixel.
...
...
xtt/lib/glow/src/glow_draw.cpp
View file @
298e7e68
...
...
@@ -134,6 +134,30 @@ static int glow_create_cursor( draw_tCtx draw_ctx)
draw_ctx
->
cursors
[
glow_eDrawCursor_Hand
]
=
XCreateFontCursor
(
draw_ctx
->
display
,
XC_hand2
);
draw_ctx
->
cursors
[
glow_eDrawCursor_BottomLeftCorner
]
=
XCreateFontCursor
(
draw_ctx
->
display
,
XC_bottom_left_corner
);
draw_ctx
->
cursors
[
glow_eDrawCursor_BottomRightCorner
]
=
XCreateFontCursor
(
draw_ctx
->
display
,
XC_bottom_right_corner
);
draw_ctx
->
cursors
[
glow_eDrawCursor_BottomSide
]
=
XCreateFontCursor
(
draw_ctx
->
display
,
XC_bottom_side
);
draw_ctx
->
cursors
[
glow_eDrawCursor_TopLeftCorner
]
=
XCreateFontCursor
(
draw_ctx
->
display
,
XC_top_left_corner
);
draw_ctx
->
cursors
[
glow_eDrawCursor_TopRightCorner
]
=
XCreateFontCursor
(
draw_ctx
->
display
,
XC_top_right_corner
);
draw_ctx
->
cursors
[
glow_eDrawCursor_TopSide
]
=
XCreateFontCursor
(
draw_ctx
->
display
,
XC_top_side
);
draw_ctx
->
cursors
[
glow_eDrawCursor_RightSide
]
=
XCreateFontCursor
(
draw_ctx
->
display
,
XC_right_side
);
draw_ctx
->
cursors
[
glow_eDrawCursor_LeftSide
]
=
XCreateFontCursor
(
draw_ctx
->
display
,
XC_left_side
);
return
1
;
}
...
...
xtt/lib/glow/src/glow_growapi.cpp
View file @
298e7e68
...
...
@@ -678,6 +678,53 @@ void grow_SetAttributes( grow_tCtx ctx, grow_sAttributes *attr,
ctx
->
initial_position
=
attr
->
initial_position
;
}
void
grow_GetAttributes
(
grow_tCtx
ctx
,
grow_sAttributes
*
attr
,
unsigned
long
mask
)
{
if
(
mask
&
grow_eAttr_base_zoom_factor
)
attr
->
base_zoom_factor
=
ctx
->
base_zoom_factor
;
if
(
mask
&
grow_eAttr_offset_x
)
attr
->
offset_x
=
ctx
->
offset_x
;
if
(
mask
&
grow_eAttr_offset_y
)
attr
->
offset_y
=
ctx
->
offset_y
;
if
(
mask
&
grow_eAttr_grid_size_x
)
attr
->
grid_size_x
=
ctx
->
grid_size_x
;
if
(
mask
&
grow_eAttr_grid_size_y
)
attr
->
grid_size_y
=
ctx
->
grid_size_y
;
if
(
mask
&
grow_eAttr_grid_on
)
attr
->
grid_on
=
ctx
->
grid_on
;
if
(
mask
&
grow_eAttr_user_highlight
)
attr
->
user_highlight
=
ctx
->
user_highlight
;
if
(
mask
&
grow_eAttr_draw_delta
)
attr
->
draw_delta
=
ctx
->
draw_delta
;
if
(
mask
&
grow_eAttr_grafcet_con_delta
)
attr
->
grafcet_con_delta
=
ctx
->
grafcet_con_delta
;
if
(
mask
&
grow_eAttr_refcon_width
)
attr
->
refcon_width
=
ctx
->
refcon_width
;
if
(
mask
&
grow_eAttr_refcon_height
)
attr
->
refcon_height
=
ctx
->
refcon_height
;
if
(
mask
&
grow_eAttr_refcon_linewidth
)
attr
->
refcon_linewidth
=
ctx
->
refcon_linewidth
;
if
(
mask
&
grow_eAttr_refcon_textsize
)
attr
->
refcon_textsize
=
ctx
->
refcon_textsize
;
if
(
mask
&
grow_eAttr_application_paste
)
attr
->
application_paste
=
ctx
->
application_paste
;
if
(
mask
&
grow_eAttr_select_policy
)
attr
->
select_policy
=
ctx
->
select_policy
;
if
(
mask
&
grow_eAttr_display_level
)
attr
->
display_level
=
ctx
->
display_level
;
if
(
mask
&
grow_eAttr_default_hot_mode
)
attr
->
default_hot_mode
=
ctx
->
default_hot_mode
;
if
(
mask
&
grow_eAttr_enable_bg_pixmap
)
attr
->
enable_bg_pixmap
=
ctx
->
enable_bg_pixmap
;
if
(
mask
&
grow_eAttr_double_buffer_on
)
attr
->
double_buffer_on
=
ctx
->
double_buffer_on
;
if
(
mask
&
grow_eAttr_hot_mode
)
attr
->
hot_mode
=
ctx
->
hot_mode
;
if
(
mask
&
grow_eAttr_initial_position
)
attr
->
initial_position
=
(
glow_eDirection
)
ctx
->
initial_position
;
}
void
grow_PositionToPixel
(
grow_tCtx
ctx
,
double
x
,
double
y
,
int
*
pix_x
,
int
*
pix_y
)
{
...
...
@@ -3636,11 +3683,21 @@ void grow_SetMoveRestrictions( grow_tCtx ctx, glow_eMoveRestriction restriction,
(
GlowArrayElem
*
)
object
);
}
glow_eMoveRestriction
grow_GetMoveRestrictions
(
grow_tCtx
ctx
)
{
return
ctx
->
move_restriction
;
}
void
grow_SetScaleEqual
(
grow_tCtx
ctx
,
int
equal
)
{
ctx
->
set_scale_equal
(
equal
);
}
int
grow_GetScaleEqual
(
grow_tCtx
ctx
)
{
return
ctx
->
scale_equal
;
}
void
grow_GetSliderInfo
(
grow_tObject
object
,
glow_eDirection
*
direction
,
double
*
max_value
,
double
*
min_value
,
double
*
max_pos
,
double
*
min_pos
)
{
...
...
@@ -3899,6 +3956,11 @@ void grow_SetShowGrid( grow_tCtx ctx, int show)
ctx
->
set_show_grid
(
show
);
}
int
grow_GetShowGrid
(
grow_tCtx
ctx
)
{
return
ctx
->
get_show_grid
();
}
int
grow_IsNextNodeClass
(
grow_tNodeClass
nodeclass
)
{
return
((
GlowNodeClass
*
)
nodeclass
)
->
is_next
();
...
...
xtt/lib/glow/src/glow_growapi.h
View file @
298e7e68
...
...
@@ -664,6 +664,15 @@ typedef GlowTraceData glow_sTraceData;
void
grow_SetAttributes
(
grow_tCtx
ctx
,
grow_sAttributes
*
attr
,
unsigned
long
mask
);
//! Get attributes of the grow context.
/*!
\param ctx Grow context.
\param attr Data structure with attribute values.
\param mask Mask of the attributes to get.
*/
void
grow_GetAttributes
(
grow_tCtx
ctx
,
grow_sAttributes
*
attr
,
unsigned
long
mask
);
//! Convert coordinates for a point to pixel.
/*!
\param ctx Grow context.
...
...
@@ -1938,6 +1947,13 @@ typedef GlowTraceData glow_sTraceData;
void
grow_SetMoveRestrictions
(
grow_tCtx
ctx
,
glow_eMoveRestriction
restriction
,
double
max_limit
,
double
min_limit
,
grow_tObject
object
);
//! Get current movement restrictions.
/*!
\param ctx Grow context.
\return Type of restriction.
*/
glow_eMoveRestriction
grow_GetMoveRestrictions
(
grow_tCtx
ctx
);
//! Set or reset scaletype to equal scale.
/*!
\param ctx Grow context.
...
...
@@ -1948,6 +1964,13 @@ typedef GlowTraceData glow_sTraceData;
*/
void
grow_SetScaleEqual
(
grow_tCtx
ctx
,
int
equal
);
//! Get current scaletype.
/*!
\param ctx Grow context.
\return If 1 scaletype is equal.
*/
int
grow_GetScaleEqual
(
grow_tCtx
ctx
);
//! Get info for a slider object.
/*!
\param object Slider object.
...
...
@@ -2346,6 +2369,13 @@ typedef GlowTraceData glow_sTraceData;
*/
void
grow_SetShowGrid
(
grow_tCtx
ctx
,
int
show
);
//! Get if gridpoints are displayed.
/*!
\param ctx Grow context.
\return 1: gridpoints are displayed, 0: hidden.
*/
int
grow_GetShowGrid
(
grow_tCtx
ctx
);
//! Check if a nodeclass is a next page.
/*!
\param nodeclass Nodeclass to check.
...
...
xtt/lib/glow/src/glow_growctx.cpp
View file @
298e7e68
...
...
@@ -493,14 +493,89 @@ int GrowCtx::event_handler( glow_eEvent event, int x, int y, int w, int h)
}
break
;
case
glow_eEvent_CursorMotion
:
cursor_present
=
1
;
cursor_x
=
x
;
cursor_y
=
y
;
if
(
node_movement_paste_active
)
{
set_defered_redraw
();
switch
(
move_restriction
)
{
if
(
edit_mode
==
grow_eMode_Scale
)
{
int
x0
=
select_rect_ll_x
;
int
delta_x
=
(
select_rect_ur_x
-
select_rect_ll_x
)
/
3
+
1
;
int
y0
=
select_rect_ll_y
;
int
delta_y
=
(
select_rect_ur_y
-
select_rect_ll_y
)
/
3
+
1
;
glow_eScaleType
scale_type
;
if
(
(
x0
<=
x
&&
x
<
x0
+
delta_x
)
&&
(
y0
<=
y
&&
y
<
y0
+
delta_y
))
scale_type
=
glow_eScaleType_UpperRight
;
else
if
(
(
x0
+
delta_x
<=
x
&&
x
<
x0
+
2
*
delta_x
)
&&
(
y0
<=
y
&&
y
<
y0
+
delta_y
))
scale_type
=
glow_eScaleType_Up
;
else
if
(
(
x0
+
2
*
delta_x
<=
x
&&
x
<
x0
+
3
*
delta_x
)
&&
(
y0
<=
y
&&
y
<
y0
+
delta_y
))
scale_type
=
glow_eScaleType_UpperLeft
;
else
if
(
(
x0
<=
x
&&
x
<
x0
+
delta_x
)
&&
(
y0
+
delta_y
<=
y
&&
y
<
y0
+
2
*
delta_y
))
scale_type
=
glow_eScaleType_Right
;
else
if
(
(
x0
+
2
*
delta_x
<=
x
&&
x
<
x0
+
3
*
delta_x
)
&&
(
y0
+
delta_y
<=
y
&&
y
<
y0
+
2
*
delta_y
))
scale_type
=
glow_eScaleType_Left
;
else
if
(
(
x0
<=
x
&&
x
<
x0
+
delta_x
)
&&
(
y0
+
2
*
delta_y
<=
y
&&
y
<
y0
+
3
*
delta_y
))
scale_type
=
glow_eScaleType_LowerRight
;
else
if
(
(
x0
+
delta_x
<=
x
&&
x
<
x0
+
2
*
delta_x
)
&&
(
y0
+
2
*
delta_y
<=
y
&&
y
<
y0
+
3
*
delta_y
))
scale_type
=
glow_eScaleType_Down
;
else
if
(
(
x0
+
2
*
delta_x
<=
x
&&
x
<
x0
+
3
*
delta_x
)
&&
(
y0
+
2
*
delta_y
<=
y
&&
y
<
y0
+
3
*
delta_y
))
scale_type
=
glow_eScaleType_LowerLeft
;
else
scale_type
=
glow_eScaleType_No
;
switch
(
scale_type
)
{
case
glow_eScaleType_Up
:
if
(
scale_equal
)
draw_set_cursor
(
this
,
glow_eDrawCursor_Normal
);
else
draw_set_cursor
(
ctx
,
glow_eDrawCursor_TopSide
);
break
;
case
glow_eScaleType_Down
:
if
(
scale_equal
)
draw_set_cursor
(
this
,
glow_eDrawCursor_Normal
);
else
draw_set_cursor
(
ctx
,
glow_eDrawCursor_BottomSide
);
break
;
case
glow_eScaleType_Right
:
if
(
scale_equal
)
draw_set_cursor
(
this
,
glow_eDrawCursor_Normal
);
else
draw_set_cursor
(
ctx
,
glow_eDrawCursor_LeftSide
);
break
;
case
glow_eScaleType_Left
:
if
(
scale_equal
)
draw_set_cursor
(
this
,
glow_eDrawCursor_Normal
);
else
draw_set_cursor
(
this
,
glow_eDrawCursor_RightSide
);
break
;
case
glow_eScaleType_UpperRight
:
draw_set_cursor
(
ctx
,
glow_eDrawCursor_TopLeftCorner
);
break
;
case
glow_eScaleType_LowerLeft
:
draw_set_cursor
(
ctx
,
glow_eDrawCursor_BottomRightCorner
);
break
;
case
glow_eScaleType_UpperLeft
:
draw_set_cursor
(
ctx
,
glow_eDrawCursor_TopRightCorner
);
break
;
case
glow_eScaleType_LowerRight
:
draw_set_cursor
(
this
,
glow_eDrawCursor_BottomLeftCorner
);
break
;
default:
draw_set_cursor
(
this
,
glow_eDrawCursor_Normal
);
}
}
else
{
cursor_present
=
1
;
cursor_x
=
x
;
cursor_y
=
y
;
if
(
node_movement_paste_active
)
{
set_defered_redraw
();
switch
(
move_restriction
)
{
case
glow_eMoveRestriction_Vertical
:
a_move
.
move
(
0
,
y
-
node_move_last_y
,
0
);
break
;
...
...
@@ -510,16 +585,16 @@ int GrowCtx::event_handler( glow_eEvent event, int x, int y, int w, int h)
default:
a_move
.
move
(
x
-
node_move_last_x
,
y
-
node_move_last_y
,
0
);
break
;
}
node_move_last_x
=
x
;
node_move_last_y
=
y
;
redraw_defered
();
}
sts
=
0
;
hot_found
=
(
hot_mode
==
glow_eHotMode_Disabled
);
for
(
i
=
0
;
i
<
a
.
a_size
;
i
++
)
{
sts
=
a
.
a
[
a
.
a_size
-
i
-
1
]
->
event_handler
(
event
,
x
,
y
,
fx
,
fy
);
}
node_move_last_x
=
x
;
node_move_last_y
=
y
;
redraw_defered
();
}
sts
=
0
;
hot_found
=
(
hot_mode
==
glow_eHotMode_Disabled
);
for
(
i
=
0
;
i
<
a
.
a_size
;
i
++
)
{
sts
=
a
.
a
[
a
.
a_size
-
i
-
1
]
->
event_handler
(
event
,
x
,
y
,
fx
,
fy
);
}
}
break
;
case
glow_eEvent_ButtonMotion
:
...
...
@@ -971,8 +1046,14 @@ int GrowCtx::event_handler( glow_eEvent event, int x, int y, int w, int h)
}
else
if
(
edit_mode
==
grow_eMode_EditPolyLine
&&
node_movement_active
)
{
((
GrowPolyLine
*
)
a_move
[
0
])
->
move_current_point
(
x
-
node_move_last_x
,
y
-
node_move_last_y
,
0
);
int
dx
=
x
-
node_move_last_x
;
int
dy
=
y
-
node_move_last_y
;
if
(
move_restriction
==
glow_eMoveRestriction_Vertical
)
dx
=
0
;
else
if
(
move_restriction
==
glow_eMoveRestriction_Horizontal
)
dy
=
0
;
((
GrowPolyLine
*
)
a_move
[
0
])
->
move_current_point
(
dx
,
dy
,
0
);
node_move_last_x
=
x
;
node_move_last_y
=
y
;
}
...
...
@@ -984,8 +1065,14 @@ int GrowCtx::event_handler( glow_eEvent event, int x, int y, int w, int h)
scale_active
=
0
;
if
(
node_movement_active
&&
edit_mode
==
grow_eMode_EditPolyLine
)
{
((
GrowPolyLine
*
)
a_move
[
0
])
->
move_current_point
(
x
-
node_move_last_x
,
y
-
node_move_last_y
,
grid_on
);
int
dx
=
x
-
node_move_last_x
;
int
dy
=
y
-
node_move_last_y
;
if
(
move_restriction
==
glow_eMoveRestriction_Vertical
)
dx
=
0
;
else
if
(
move_restriction
==
glow_eMoveRestriction_Horizontal
)
dy
=
0
;
((
GrowPolyLine
*
)
a_move
[
0
])
->
move_current_point
(
dx
,
dy
,
grid_on
);
node_move_last_x
=
x
;
node_move_last_y
=
y
;
node_movement_active
=
0
;
...
...
@@ -1327,9 +1414,8 @@ int GrowCtx::event_handler( glow_eEvent event, int x, int y, int w, int h)
}
}
}
else
if
(
select_rect_active
&&
edit_mode
!
=
grow_eMode_Scale
)
else
if
(
select_rect_active
&&
edit_mode
=
=
grow_eMode_Scale
)
{
}
else
if
(
con_create_active
)
{
...
...
@@ -2500,6 +2586,10 @@ void grow_auto_scrolling( GrowCtx *ctx)
{
delta_x
=
-
(
ctx
->
node_move_last_x
-
ctx
->
window_width
/
2
)
/
6
;
delta_y
=
-
(
ctx
->
node_move_last_y
-
ctx
->
window_height
/
2
)
/
6
;
if
(
ctx
->
move_restriction
==
glow_eMoveRestriction_Vertical
)
delta_x
=
0
;
else
if
(
ctx
->
move_restriction
==
glow_eMoveRestriction_Horizontal
)
delta_y
=
0
;
ctx
->
set_defered_redraw
();
((
GrowPolyLine
*
)
ctx
->
a_move
[
0
])
->
move_current_point
(
...
...
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