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 + -
显示快捷键?