Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
dlib
Commits
8ac87abe
Commit
8ac87abe
authored
Aug 07, 2013
by
Davis King
Browse files
Added the option to disable overlay editing to the image_display. Also made
the image_window not allow overlay editing.
parent
b6bf552c
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
49 additions
and
1 deletion
+49
-1
dlib/gui_widgets/widgets.cpp
dlib/gui_widgets/widgets.cpp
+6
-1
dlib/gui_widgets/widgets.h
dlib/gui_widgets/widgets.h
+19
-0
dlib/gui_widgets/widgets_abstract.h
dlib/gui_widgets/widgets_abstract.h
+24
-0
No files found.
dlib/gui_widgets/widgets.cpp
View file @
8ac87abe
...
...
@@ -5689,7 +5689,8 @@ namespace dlib
selected_rect
(
0
),
default_rect_color
(
255
,
0
,
0
,
255
),
parts_menu
(
w
),
part_width
(
15
)
// width part circles are drawn on the screen
part_width
(
15
),
// width part circles are drawn on the screen
overlay_editing_enabled
(
true
)
{
enable_mouse_drag
();
...
...
@@ -6097,6 +6098,9 @@ namespace dlib
image_clicked_handler
(
p
,
is_double_click
,
btn
);
}
if
(
!
overlay_editing_enabled
)
return
;
if
(
btn
==
base_window
::
RIGHT
&&
rect_is_selected
)
{
last_right_click_pos
=
point
(
x
,
y
);
...
...
@@ -6454,6 +6458,7 @@ namespace dlib
{
gui_img
.
set_image_clicked_handler
(
*
this
,
&
image_window
::
on_image_clicked
);
gui_img
.
disable_overlay_editing
();
// show this window on the screen
show
();
}
...
...
dlib/gui_widgets/widgets.h
View file @
8ac87abe
...
...
@@ -3457,6 +3457,22 @@ namespace dlib
void
clear_labelable_part_names
(
);
void
enable_overlay_editing
(
)
{
auto_mutex
M
(
m
);
overlay_editing_enabled
=
true
;
}
void
disable_overlay_editing
(
)
{
auto_mutex
M
(
m
);
overlay_editing_enabled
=
false
;
rect_is_selected
=
false
;
drawing_rect
=
false
;
parent
.
invalidate_rectangle
(
rect
);
}
bool
overlay_editing_is_enabled
(
)
const
{
auto_mutex
M
(
m
);
return
overlay_editing_enabled
;
}
private:
void
draw
(
...
...
@@ -3537,6 +3553,7 @@ namespace dlib
point
last_right_click_pos
;
const
int
part_width
;
std
::
set
<
std
::
string
>
part_names
;
bool
overlay_editing_enabled
;
// restricted functions
image_display
(
image_display
&
);
// copy constructor
...
...
@@ -3569,6 +3586,7 @@ namespace dlib
tie_input_events
(
false
)
{
gui_img
.
set_image_clicked_handler
(
*
this
,
&
image_window
::
on_image_clicked
);
gui_img
.
disable_overlay_editing
();
set_image
(
img
);
show
();
}
...
...
@@ -3587,6 +3605,7 @@ namespace dlib
tie_input_events
(
false
)
{
gui_img
.
set_image_clicked_handler
(
*
this
,
&
image_window
::
on_image_clicked
);
gui_img
.
disable_overlay_editing
();
set_image
(
img
);
set_title
(
title
);
show
();
...
...
dlib/gui_widgets/widgets_abstract.h
View file @
8ac87abe
...
...
@@ -2324,6 +2324,7 @@ namespace dlib
- get_default_overlay_rect_label() == ""
- get_default_overlay_rect_color() == rgb_alpha_pixel(255,0,0,255) (i.e. RED)
- This object does not have any user labelable parts defined.
- overlay_editing_is_enabled() == true
WHAT THIS OBJECT REPRESENTS
This object represents an image inside a scrollable region.
...
...
@@ -2680,6 +2681,29 @@ namespace dlib
- R.tl_corner() == (0,0)
!*/
void
enable_overlay_editing
(
);
/*!
ensures
- #overlay_editing_is_enabled() == true
!*/
void
disable_overlay_editing
(
);
/*!
ensures
- #overlay_editing_is_enabled() == false
!*/
bool
overlay_editing_is_enabled
(
)
const
;
/*!
ensures
- if this function returns true then it is possible for the user to add or
remove overlay objects (e.g. rectangles) using the mouse and keyboard.
If it returns false then the overlay is not user editable.
!*/
template
<
typename
T
>
...
...
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