gseisviewtoolaux.c

来自「segy 显示程序!希望能给正在做这部分朋友提供一部分资料」· C语言 代码 · 共 129 行

C
129
字号
/*  * GTKSEISVIEWGL - Library for rendering of 2D seismic data * * Copyright (C) 2006 Vladimir Bashkardin * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * General Public License for more av. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * * Author:  Vladimir Bashkardin  <vovizmus@users.sourceforge.net> */#include <GL/gl.h>#include <gtk/gtkgl.h>#include "gtkseisviewgl_marshal.h"#include "gtkseisviewgl.h"#include "gseisviewtoolaux.h"G_DEFINE_TYPE (GSeisViewToolAuxilary, g_seis_view_tool_auxilary, G_SEIS_TYPE_VIEW_TOOL)#define G_SEIS_VIEW_TOOL_AUXILARY_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), G_SEIS_TYPE_VIEW_TOOL_AUXILARY, GSeisViewToolAuxilaryPrivate))typedef struct _GSeisViewToolAuxilaryPrivate GSeisViewToolAuxilaryPrivate;struct _GSeisViewToolAuxilaryPrivate {    gpointer nothingness;};static gboolean g_seis_view_tool_auxilary_scroll_up_signal (GSeisViewToolAuxilary *self) {    g_signal_emit (self, G_SEIS_VIEW_TOOL_AUXILARY_GET_CLASS (self)->auxilary_scroll_up_id, 0);    return FALSE;}static gboolean g_seis_view_tool_auxilary_scroll_down_signal (GSeisViewToolAuxilary *self) {    g_signal_emit (self, G_SEIS_VIEW_TOOL_AUXILARY_GET_CLASS (self)->auxilary_scroll_down_id, 0);    return FALSE;}static void g_seis_view_tool_button_event_int (GSeisViewTool *tool, GtkWidget *seis_view_gl, GdkEventButton *event,                                               GSeisViewDataVisibility *data_visibility) {}static void g_seis_view_tool_scroll_event_int (GSeisViewTool *tool, GtkWidget *seis_view_gl, GdkEventScroll *event,                                               GSeisViewDataVisibility *data_visibility) {    GSeisViewToolAuxilaryPrivate *private = G_SEIS_VIEW_TOOL_AUXILARY_GET_PRIVATE (G_SEIS_VIEW_TOOL (tool));    if (GDK_SCROLL_UP == event->direction)        g_idle_add ((GSourceFunc)g_seis_view_tool_auxilary_scroll_up_signal, (gpointer)G_SEIS_VIEW_TOOL_AUXILARY (tool));    else if (GDK_SCROLL_DOWN == event->direction)        g_idle_add ((GSourceFunc)g_seis_view_tool_auxilary_scroll_down_signal, (gpointer)G_SEIS_VIEW_TOOL_AUXILARY (tool));}static void g_seis_view_tool_motion_event_int (GSeisViewTool *tool, GtkWidget *seis_view_gl, GdkEventMotion *event,                                               GSeisViewDataVisibility *data_visibility) {}static void g_seis_view_tool_auxilary_init (GSeisViewToolAuxilary *self) {    (G_SEIS_VIEW_TOOL (self))->event_mask |= G_SEIS_VIEW_TOOL_MOTION_EVENT |                                             G_SEIS_VIEW_TOOL_BUTTON_EVENT |                                             G_SEIS_VIEW_TOOL_SCROLL_EVENT;    (G_SEIS_VIEW_TOOL (self))->show_cross = TRUE;#ifdef DEBUG    g_print ("<GSeisViewToolAuxilary is inited>\n");#endif}static void g_seis_view_tool_auxilary_finalize (GObject *object) {#ifdef DEBUG    g_print ("<GSeisViewToolAuxilary is finalized>\n");#endif    if (G_OBJECT_CLASS (g_seis_view_tool_auxilary_parent_class)->finalize)        G_OBJECT_CLASS (g_seis_view_tool_auxilary_parent_class)->finalize (object);}static void g_seis_view_tool_auxilary_class_init (GSeisViewToolAuxilaryClass *klass) {    GObjectClass *gobject_class = G_OBJECT_CLASS (klass);    GSeisViewToolClass *tool_class = G_SEIS_VIEW_TOOL_CLASS (klass);    gobject_class->finalize = g_seis_view_tool_auxilary_finalize;    g_type_class_add_private (klass, sizeof (GSeisViewToolAuxilaryPrivate));    tool_class->view_button_event = g_seis_view_tool_button_event_int;    tool_class->view_scroll_event = g_seis_view_tool_scroll_event_int;    tool_class->view_motion_event = g_seis_view_tool_motion_event_int;    klass->auxilary_scroll_up = NULL;    klass->auxilary_scroll_down = NULL;    klass->auxilary_scroll_up_id = g_signal_new ("auxilary_scroll_up",                                                 G_TYPE_FROM_CLASS ((gpointer)G_OBJECT_CLASS (klass)),                                                 G_SIGNAL_RUN_LAST,                                                 G_STRUCT_OFFSET (GSeisViewToolAuxilaryClass, auxilary_scroll_up),                                                 NULL, NULL,                                                 gtkseisviewgl_marshal_VOID__VOID,                                                 G_TYPE_NONE, 0);    klass->auxilary_scroll_down_id = g_signal_new ("auxilary_scroll_down",                                                   G_TYPE_FROM_CLASS ((gpointer)G_OBJECT_CLASS (klass)),                                                   G_SIGNAL_RUN_LAST,                                                   G_STRUCT_OFFSET (GSeisViewToolAuxilaryClass, auxilary_scroll_down),                                                   NULL, NULL,                                                   gtkseisviewgl_marshal_VOID__VOID,                                                   G_TYPE_NONE, 0);#ifdef DEBUG    g_print ("<GSeisViewToolAuxilary class is inited>\n");#endif}GSeisViewToolAuxilary* g_seis_view_tool_auxilary_new () {    return g_object_new (G_SEIS_TYPE_VIEW_TOOL_AUXILARY, NULL);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?