⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gseisviewtool.c

📁 segy 显示程序!希望能给正在做这部分朋友提供一部分资料
💻 C
📖 第 1 页 / 共 2 页
字号:
/*  * 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 <gdk/gdkkeysyms.h>#include "gseisviewtool.h"G_DEFINE_TYPE (GSeisViewTool, g_seis_view_tool, G_TYPE_OBJECT)#define G_SEIS_VIEW_TOOL_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), G_SEIS_TYPE_VIEW_TOOL, GSeisViewToolPrivate))typedef struct _GSeisViewToolPrivate GSeisViewToolPrivate;struct _GSeisViewToolPrivate {    GSeisViewTool *current_tool;    GSeisViewTool *alt_tool1;    GSeisViewTool *alt_tool2;    GSeisViewTool *alt_tool3;};static void g_seis_view_tool_attach_notify_base (GSeisViewTool *self, GtkWidget *seis_view_gl) {}static void g_seis_view_tool_detach_notify_base (GSeisViewTool *self, GtkWidget *seis_view_gl) {}static void g_seis_view_tool_button_event_base (GSeisViewTool *self, GtkWidget *seis_view_gl, GdkEventButton *event,                                                GSeisViewDataVisibility *data_visibility) {}static void g_seis_view_tool_scroll_event_base (GSeisViewTool *self, GtkWidget *seis_view_gl, GdkEventScroll *event,                                                GSeisViewDataVisibility *data_visibility) {}static void g_seis_view_tool_enter_event_base (GSeisViewTool *self, GtkWidget *seis_view_gl, GdkEventCrossing *event,                                               GSeisViewDataVisibility *data_visibility) {}static void g_seis_view_tool_leave_event_base (GSeisViewTool *self, GtkWidget *seis_view_gl, GdkEventCrossing *event,                                               GSeisViewDataVisibility *data_visibility) {}static void g_seis_view_tool_motion_event_base (GSeisViewTool *self, GtkWidget *seis_view_gl, GdkEventMotion *event,                                                GSeisViewDataVisibility *data_visibility) {}static void g_seis_view_tool_key_event_base (GSeisViewTool *self, GtkWidget *seis_view_gl, GdkEventKey *event,                                             GSeisViewDataVisibility *data_visibility) {}static void g_seis_view_tool_redraw_event_base (GSeisViewTool *self, GtkWidget *seis_view_gl,                                                GSeisViewDataVisibility *data_visibility) {}static void g_seis_view_tool_resize_event_base (GSeisViewTool *self, GtkWidget *seis_view_gl,                                                GSeisViewDataVisibility *data_visibility) {}void g_seis_view_tool_set_alt_tool1 (GSeisViewTool *tool, GSeisViewTool *alt_tool1) {    GSeisViewToolPrivate *private = G_SEIS_VIEW_TOOL_GET_PRIVATE (tool);    if (private->alt_tool1)        g_object_unref (G_OBJECT (private->alt_tool1));    private->alt_tool1 = alt_tool1;    if (private->alt_tool1)        g_object_ref (G_OBJECT (private->alt_tool1));}void g_seis_view_tool_set_alt_tool2 (GSeisViewTool *tool, GSeisViewTool *alt_tool2) {    GSeisViewToolPrivate *private = G_SEIS_VIEW_TOOL_GET_PRIVATE (tool);    if (private->alt_tool2)        g_object_unref (G_OBJECT (private->alt_tool2));    private->alt_tool2 = alt_tool2;    if (private->alt_tool2)        g_object_ref (G_OBJECT (private->alt_tool2));}void g_seis_view_tool_set_alt_tool3 (GSeisViewTool *tool, GSeisViewTool *alt_tool3) {    GSeisViewToolPrivate *private = G_SEIS_VIEW_TOOL_GET_PRIVATE (tool);    if (private->alt_tool3)        g_object_unref (G_OBJECT (private->alt_tool3));    private->alt_tool3 = alt_tool3;    if (private->alt_tool3)        g_object_ref (G_OBJECT (private->alt_tool3));}void g_seis_view_tool_attach_notify (GSeisViewTool *tool, GtkWidget *seis_view_gl) {    GSeisViewToolPrivate *private = G_SEIS_VIEW_TOOL_GET_PRIVATE (tool);    G_SEIS_VIEW_TOOL_GET_CLASS (G_OBJECT (private->current_tool))->view_attach_notify (private->current_tool, seis_view_gl);    if (private->current_tool != tool)        tool->show_cross = private->current_tool->show_cross;}void g_seis_view_tool_detach_notify (GSeisViewTool *tool, GtkWidget *seis_view_gl) {    GSeisViewToolPrivate *private = G_SEIS_VIEW_TOOL_GET_PRIVATE (tool);    G_SEIS_VIEW_TOOL_GET_CLASS (G_OBJECT (private->current_tool))->view_detach_notify (private->current_tool, seis_view_gl);    if (private->current_tool != tool)        tool->show_cross = private->current_tool->show_cross;}void g_seis_view_tool_button_event (GSeisViewTool *tool, GtkWidget *seis_view_gl, GdkEventButton *event,                                    GSeisViewDataVisibility *data_visibility) {    GSeisViewToolPrivate *private = G_SEIS_VIEW_TOOL_GET_PRIVATE (tool);    if (0 == (private->current_tool->event_mask & G_SEIS_VIEW_TOOL_BUTTON_EVENT))        return;    G_SEIS_VIEW_TOOL_GET_CLASS (G_OBJECT (private->current_tool))->view_button_event (private->current_tool, seis_view_gl,                                                                                      event, data_visibility);    if (private->current_tool != tool)        tool->show_cross = private->current_tool->show_cross;}void g_seis_view_tool_scroll_event (GSeisViewTool *tool, GtkWidget *seis_view_gl, GdkEventScroll *event,                                    GSeisViewDataVisibility *data_visibility) {    GSeisViewToolPrivate *private = G_SEIS_VIEW_TOOL_GET_PRIVATE (tool);    if (0 == (private->current_tool->event_mask & G_SEIS_VIEW_TOOL_SCROLL_EVENT))        return;    G_SEIS_VIEW_TOOL_GET_CLASS (G_OBJECT (private->current_tool))->view_scroll_event (private->current_tool, seis_view_gl,                                                                                      event, data_visibility);    if (private->current_tool != tool)        tool->show_cross = private->current_tool->show_cross;}void g_seis_view_tool_enter_event (GSeisViewTool *tool, GtkWidget *seis_view_gl, GdkEventCrossing *event,                                   GSeisViewDataVisibility *data_visibility) {    GSeisViewToolPrivate *private = G_SEIS_VIEW_TOOL_GET_PRIVATE (tool);    if (0 == (private->current_tool->event_mask & G_SEIS_VIEW_TOOL_ENTER_EVENT))        return;    G_SEIS_VIEW_TOOL_GET_CLASS (G_OBJECT (private->current_tool))->view_enter_event (private->current_tool, seis_view_gl,                                                                                     event, data_visibility);    if (private->current_tool != tool)        tool->show_cross = private->current_tool->show_cross;}void g_seis_view_tool_leave_event (GSeisViewTool *tool, GtkWidget *seis_view_gl, GdkEventCrossing *event,                                   GSeisViewDataVisibility *data_visibility) {    GSeisViewToolPrivate *private = G_SEIS_VIEW_TOOL_GET_PRIVATE (tool);    if (0 == (private->current_tool->event_mask & G_SEIS_VIEW_TOOL_LEAVE_EVENT))        return;    G_SEIS_VIEW_TOOL_GET_CLASS (G_OBJECT (private->current_tool))->view_leave_event (private->current_tool, seis_view_gl,                                                                                     event, data_visibility);    if (private->current_tool != tool)        tool->show_cross = private->current_tool->show_cross;}void g_seis_view_tool_motion_event (GSeisViewTool *tool, GtkWidget *seis_view_gl, GdkEventMotion *event,                                    GSeisViewDataVisibility *data_visibility) {    GSeisViewToolPrivate *private = G_SEIS_VIEW_TOOL_GET_PRIVATE (tool);    if (0 == (private->current_tool->event_mask & G_SEIS_VIEW_TOOL_MOTION_EVENT))        return;    G_SEIS_VIEW_TOOL_GET_CLASS (G_OBJECT (private->current_tool))->view_motion_event (private->current_tool, seis_view_gl,                                                                                      event, data_visibility);    if (private->current_tool != tool)        tool->show_cross = private->current_tool->show_cross;

⌨️ 快捷键说明

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