Graphviz 13.0.0~dev.20241220.2304
Loading...
Searching...
No Matches
gltemplate.c File Reference
#include <stdbool.h>
#include <stdlib.h>
#include <math.h>
#include "gui.h"
#include "viewport.h"
#include "gltemplate.h"
#include <glcomp/glutils.h>
#include <util/exit.h>
#include "glexpose.h"
#include "glmotion.h"
#include <glcomp/glcompset.h>
#include "viewportcamera.h"
#include "gui/menucallbacks.h"
#include "arcball.h"
#include "appmouse.h"
Include dependency graph for gltemplate.c:

Go to the source code of this file.

Functions

static glMouseButtonType getGlCompMouseType (int n)
 
static void realize (GtkWidget *widget, void *data)
 
static gboolean configure_event (GtkWidget *widget, GdkEventConfigure *event, void *data)
 
gboolean expose_event (GtkWidget *widget, GdkEventExpose *event, void *data)
 
static gboolean button_press_event (GtkWidget *widget, GdkEventButton *event, void *data)
 
static gboolean button_release_event (GtkWidget *widget, GdkEventButton *event, void *data)
 
static gboolean key_press_event (GtkWidget *widget, GdkEventKey *event, void *data)
 
static gboolean key_release_event (GtkWidget *widget, GdkEventKey *event, void *data)
 
static gboolean scroll_event (GtkWidget *widget, GdkEventScroll *event, void *data)
 
static gboolean motion_notify_event (GtkWidget *widget, GdkEventMotion *event, void *data)
 
GdkGLConfig * configure_gl (void)
 
void create_window (GdkGLConfig *glconfig, GtkWidget *vbox)
 

Variables

static float begin_x = 0.0
 
static float begin_y = 0.0
 

Function Documentation

◆ button_press_event()

static gboolean button_press_event ( GtkWidget *  widget,
GdkEventButton *  event,
void *  data 
)
static

Definition at line 177 of file gltemplate.c.

References appmouse_left_click_down(), appmouse_middle_click_down(), appmouse_right_click_down(), glCompSet_::base, begin_x, begin_y, glCompObj_::common, _ViewInfo::drawing_area, expose_event(), glCompCommon::functions, _ViewInfo::g, getGlCompMouseType(), glCompCallBacks::mousedown, NULL, view, and _ViewInfo::widgets.

Referenced by create_window().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ button_release_event()

static gboolean button_release_event ( GtkWidget *  widget,
GdkEventButton *  event,
void *  data 
)
static

Definition at line 207 of file gltemplate.c.

References appmouse_up(), _ViewInfo::arcball, glCompSet_::base, glCompObj_::common, _ViewInfo::drawing_area, expose_event(), glCompCommon::functions, getGlCompMouseType(), _ArcBall_t::isDragging, glCompCallBacks::mouseup, NULL, view, and _ViewInfo::widgets.

Referenced by create_window().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ configure_event()

static gboolean configure_event ( GtkWidget *  widget,
GdkEventConfigure *  event,
void *  data 
)
static

Definition at line 92 of file gltemplate.c.

References _ViewInfo::arcball, GL_VIEWPORT_FACTOR, glcompsetUpdateBorder(), _ViewInfo::h, init_arcBall(), view, _ViewInfo::w, and _ViewInfo::widgets.

Referenced by create_window().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ configure_gl()

GdkGLConfig * configure_gl ( void  )

Definition at line 310 of file gltemplate.c.

References graphviz_exit(), and NULL.

Referenced by mShowToolBoxSlot(), and windowedMode().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_window()

void create_window ( GdkGLConfig *  glconfig,
GtkWidget *  vbox 
)

Definition at line 339 of file gltemplate.c.

References button_press_event(), button_release_event(), configure_event(), _ViewInfo::drawing_area, expose_event(), key_press_event(), key_release_event(), motion_notify_event(), NULL, realize(), scroll_event(), view, and xml.

Referenced by windowedMode().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ expose_event()

gboolean expose_event ( GtkWidget *  widget,
GdkEventExpose *  event,
void *  data 
)

Definition at line 143 of file gltemplate.c.

References _ViewInfo::activeGraph, add_graph_to_viewport_from_file(), close_graph(), glexpose_main(), _ViewInfo::initFile, _ViewInfo::initFileName, and view.

Referenced by button_press_event(), button_release_event(), create_window(), gl_main_expose(), glexpose(), and refreshViewport().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getGlCompMouseType()

static glMouseButtonType getGlCompMouseType ( int  n)
static

Definition at line 31 of file gltemplate.c.

References glMouseLeftButton, glMouseMiddleButton, and glMouseRightButton.

Referenced by button_press_event(), and button_release_event().

Here is the caller graph for this function:

◆ key_press_event()

static gboolean key_press_event ( GtkWidget *  widget,
GdkEventKey *  event,
void *  data 
)
static

Definition at line 228 of file gltemplate.c.

References appmouse_key_press(), and view.

Referenced by create_window().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ key_release_event()

static gboolean key_release_event ( GtkWidget *  widget,
GdkEventKey *  event,
void *  data 
)
static

Definition at line 237 of file gltemplate.c.

References appmouse_key_release(), and view.

Referenced by create_window().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ motion_notify_event()

static gboolean motion_notify_event ( GtkWidget *  widget,
GdkEventMotion *  event,
void *  data 
)
static

Definition at line 274 of file gltemplate.c.

References appmouse_drag(), appmouse_move(), glCompSet_::base, begin_x, begin_y, glCompObj_::common, glCompMouse::down, glCompMouse::dragX, glCompMouse::dragY, glCompCommon::functions, _ViewInfo::mouse, glCompCallBacks::mouseover, topview::sel, _selection::selPoly, _ViewInfo::Topview, view, and _ViewInfo::widgets.

Referenced by create_window().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ realize()

static void realize ( GtkWidget *  widget,
void *  data 
)
static

Definition at line 51 of file gltemplate.c.

References glCompColor::A, glCompColor::B, _ViewInfo::bgColor, glCompColor::G, glCompColor::R, and view.

Referenced by create_window().

Here is the caller graph for this function:

◆ scroll_event()

static gboolean scroll_event ( GtkWidget *  widget,
GdkEventScroll *  event,
void *  data 
)
static

Definition at line 247 of file gltemplate.c.

References glCompMouse::dragX, glexpose(), glmotion_zoom(), _ViewInfo::mouse, NULL, _ViewInfo::timer2, and view.

Referenced by create_window().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ begin_x

float begin_x = 0.0
static

Definition at line 27 of file gltemplate.c.

Referenced by button_press_event(), and motion_notify_event().

◆ begin_y

float begin_y = 0.0
static

Definition at line 28 of file gltemplate.c.

Referenced by button_press_event(), and motion_notify_event().