Graphviz
14.1.2~dev.20260118.1035
Loading...
Searching...
No Matches
toolboxcallbacks.c
Go to the documentation of this file.
1
/*************************************************************************
2
* Copyright (c) 2011 AT&T Intellectual Property
3
* All rights reserved. This program and the accompanying materials
4
* are made available under the terms of the Eclipse Public License v1.0
5
* which accompanies this distribution, and is available at
6
* https://www.eclipse.org/legal/epl-v10.html
7
*
8
* Contributors: Details at https://graphviz.org
9
*************************************************************************/
10
11
#include "config.h"
12
13
#include "
toolboxcallbacks.h
"
14
#include "
viewport.h
"
15
16
#include "
gltemplate.h
"
17
#include <
glcomp/glutils.h
>
18
#include "
glmotion.h
"
19
#include <stdint.h>
20
21
void
btnToolZoomOut_clicked
(GtkWidget *widget,
void
*user_data) {
22
(void)widget;
23
(void)user_data;
24
25
glmotion_zoom_inc
(0);
26
}
27
28
void
btnToolZoomFit_clicked
(GtkWidget *widget,
void
*user_data) {
29
(void)widget;
30
(void)user_data;
31
32
const
double
z
=
view
->
active_camera
!=
SIZE_MAX
33
?
view
->
cameras
[
view
->
active_camera
]->
r
34
: -
view
->
zoom
;
35
36
const
double
GDX =
view
->
bdxRight
/
z
-
view
->
bdxLeft
/
z
;
37
const
double
SDX =
view
->
clipX2
-
view
->
clipX1
;
38
const
double
GDY =
view
->
bdyTop
/
z
-
view
->
bdyBottom
/
z
;
39
const
double
SDY =
view
->
clipY2
-
view
->
clipY1
;
40
41
if
(SDX / GDX <= SDY / GDY) {
42
if
(
view
->
active_camera
!=
SIZE_MAX
) {
43
view
->
cameras
[
view
->
active_camera
]->
r
/= SDX / GDX;
44
}
else
{
45
view
->
zoom
/= SDX / GDX;
46
}
47
}
else
{
48
if
(
view
->
active_camera
!=
SIZE_MAX
) {
49
view
->
cameras
[
view
->
active_camera
]->
r
/= SDY / GDY;
50
}
else
{
51
view
->
zoom
/= SDY / GDY;
52
}
53
54
}
55
btnToolFit_clicked
(
NULL
,
NULL
);
56
}
57
58
void
btnToolFit_clicked
(GtkWidget *widget,
void
*user_data) {
59
(void)widget;
60
(void)user_data;
61
62
const
double
z
=
view
->
active_camera
!=
SIZE_MAX
63
?
view
->
cameras
[
view
->
active_camera
]->
r
64
:
view
->
zoom
* -1;
65
66
const
double
gcx =
view
->
bdxLeft
/
z
+ (
view
->
bdxRight
/
z
-
view
->
bdxLeft
/
z
) / 2.0;
67
const
double
scx =
view
->
clipX1
+ (
view
->
clipX2
-
view
->
clipX1
) / 2.0;
68
const
double
gcy =
view
->
bdyBottom
/
z
+ (
view
->
bdyTop
/
z
-
view
->
bdyBottom
/
z
) / 2.0;
69
const
double
scy =
view
->
clipY1
+ (
view
->
clipY2
-
view
->
clipY1
) / 2.0;
70
71
if
(
view
->
active_camera
!=
SIZE_MAX
) {
72
view
->
cameras
[
view
->
active_camera
]->
targetx
+= gcx - scx;
73
view
->
cameras
[
view
->
active_camera
]->
targety
+= gcx - scy;
74
}
else
{
75
view
->
panx
+= gcx - scx;
76
view
->
pany
+= gcy - scy;
77
}
78
view
->
Topview
->
fitin_zoom
=
view
->
zoom
;
79
80
glexpose
();
81
}
82
83
void
on_btnActivateGraph_clicked
(GtkWidget *widget,
void
*user_data) {
84
(void)widget;
85
(void)user_data;
86
87
int
graphId;
88
graphId = gtk_combo_box_get_active(
view
->
graphComboBox
);
89
/* fprintf (stderr, "switch to graph %d\n",graphId); */
90
switch_graph
(graphId);
91
}
glmotion_zoom_inc
void glmotion_zoom_inc(int zoomin)
Definition
glmotion.c:45
glmotion.h
gltemplate.h
glutils.h
SIZE_MAX
#define SIZE_MAX
Definition
gmlscan.c:347
NULL
node NULL
Definition
grammar.y:181
z
static int z
Definition
gvrender_core_pov.c:316
view
ViewInfo * view
Definition
viewport.c:40
glexpose
void glexpose(void)
Definition
viewport.c:523
_ViewInfo::Topview
topview * Topview
Definition
smyrnadefs.h:305
_ViewInfo::bdxRight
double bdxRight
Definition
smyrnadefs.h:283
_ViewInfo::clipX2
float clipX2
Definition
smyrnadefs.h:253
_ViewInfo::bdyBottom
double bdyBottom
Definition
smyrnadefs.h:283
_ViewInfo::zoom
double zoom
Definition
smyrnadefs.h:250
_ViewInfo::bdyTop
double bdyTop
Definition
smyrnadefs.h:282
_ViewInfo::graphComboBox
GtkComboBox * graphComboBox
Definition
smyrnadefs.h:330
_ViewInfo::cameras
viewport_camera ** cameras
Definition
smyrnadefs.h:297
_ViewInfo::bdxLeft
double bdxLeft
Definition
smyrnadefs.h:282
_ViewInfo::panx
double panx
Definition
smyrnadefs.h:248
_ViewInfo::pany
double pany
Definition
smyrnadefs.h:249
_ViewInfo::clipY1
float clipY1
Definition
smyrnadefs.h:253
_ViewInfo::clipX1
float clipX1
Definition
smyrnadefs.h:253
_ViewInfo::clipY2
float clipY2
Definition
smyrnadefs.h:253
_ViewInfo::active_camera
size_t active_camera
<number of cameras
Definition
smyrnadefs.h:299
topview::fitin_zoom
double fitin_zoom
Definition
smyrnadefs.h:229
viewport_camera::targetx
double targetx
Definition
smyrnadefs.h:130
viewport_camera::targety
double targety
Definition
smyrnadefs.h:131
viewport_camera::r
double r
Definition
smyrnadefs.h:133
btnToolZoomOut_clicked
void btnToolZoomOut_clicked(GtkWidget *widget, void *user_data)
Definition
toolboxcallbacks.c:21
btnToolFit_clicked
void btnToolFit_clicked(GtkWidget *widget, void *user_data)
Definition
toolboxcallbacks.c:58
btnToolZoomFit_clicked
void btnToolZoomFit_clicked(GtkWidget *widget, void *user_data)
Definition
toolboxcallbacks.c:28
on_btnActivateGraph_clicked
void on_btnActivateGraph_clicked(GtkWidget *widget, void *user_data)
Definition
toolboxcallbacks.c:83
toolboxcallbacks.h
switch_graph
void switch_graph(int graphId)
Definition
viewport.c:432
viewport.h
cmd
smyrna
gui
toolboxcallbacks.c
Generated by
1.9.8