📄 gtkseisviewgl.h
字号:
/* * 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> */#ifndef __GTK_SEIS_VIEW_GL_H__#define __GTK_SEIS_VIEW_GL_H__#include <gdk-pixbuf/gdk-pixbuf.h>#include <gtkseisviewgl/gseispalette.h>#include <gtkseisviewgl/gseisviewtool.h>#include <gtkseisviewgl/gseisviewaxis.h>G_BEGIN_DECLS#define GTK_TYPE_SEIS_VIEW_GL (gtk_seis_view_gl_get_type ())#define GTK_SEIS_VIEW_GL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SEIS_VIEW_GL, GtkSeisViewGl))#define GTK_SEIS_VIEW_GL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SEIS_VIEW_GL, GtkSeisViewGlClass))#define GTK_IS_SEIS_VIEW_GL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SEIS_VIEW_GL))#define GTK_IS_SEIS_VIEW_GL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SEIS_VIEW_GL))#define GTK_SEIS_VIEW_GL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SEIS_VIEW_GL, GtkSeisViewGlClass))typedef struct _GtkSeisViewGl GtkSeisViewGl;typedef struct _GtkSeisViewGlClass GtkSeisViewGlClass;typedef enum { GTK_SEIS_VIEW_VD = 1 << 0, GTK_SEIS_VIEW_VA = 1 << 1, GTK_SEIS_VIEW_WIGGLE = 1 << 2} GtkSeisViewDisplayMode;typedef enum { GTK_SEIS_VIEW_VA_POSITIVE, GTK_SEIS_VIEW_VA_NEGATIVE} GtkSeisViewVAFill;typedef enum { GTK_SEIS_VIEW_MINMAX_PER_ENSEMBLE, GTK_SEIS_VIEW_MINMAX_PER_TRACE} GtkSeisViewMinMax;typedef enum { GTK_SEIS_VIEW_SIGNAL_AUTODETECT, GTK_SEIS_VIEW_SIGNAL_BIPOLAR, GTK_SEIS_VIEW_SIGNAL_UNIPOLAR} GtkSeisViewSignal;typedef enum { GTK_SEIS_VIEW_COLORING_SYMMETRIC, GTK_SEIS_VIEW_COLORING_ASYMMETRIC} GtkSeisViewColoring;struct _GtkSeisViewGl { GtkDrawingArea parent;};struct _GtkSeisViewGlClass { GtkDrawingAreaClass parent_class; guint pointer_enter_id; guint pointer_leave_id; guint pointer_position_id; guint data_is_set_id; guint pixbuf_progress_id; guint pixbuf_rendered_id; void (*pointer_enter) (GtkSeisViewGl *self); void (*pointer_leave) (GtkSeisViewGl *self); gboolean (*pointer_position) (GtkSeisViewGl *self, gfloat slow_pos_data, gfloat fast_pos_data); void (*data_is_set) (GtkSeisViewGl *self); gboolean (*pixbuf_progress) (GtkSeisViewGl *self, gfloat fraction, GdkPixbuf *pixbuf); void (*pixbuf_rendered) (GtkSeisViewGl *self, GdkPixbuf *pixbuf);};GType gtk_seis_view_gl_get_type (void) G_GNUC_CONST;GtkWidget* gtk_seis_view_gl_new (void);GtkWidget* gtk_seis_view_gl_new_threaded (void);GtkWidget* gtk_seis_view_gl_new_shared (GtkSeisViewGl *shared_seis_view_gl);gboolean gtk_seis_view_gl_can_render_offscreen (GtkSeisViewGl *self);gboolean gtk_seis_view_gl_can_change_palette_fast (GtkSeisViewGl *self);gboolean gtk_seis_view_gl_has_real_amplitudes (GtkSeisViewGl *self);gboolean gtk_seis_view_gl_is_threaded (GtkSeisViewGl *self);void gtk_seis_view_gl_stop_rendering_thread (GtkSeisViewGl *self);void gtk_seis_view_gl_set_palette (GtkSeisViewGl *self, GSeisPalette *palette);void gtk_seis_view_gl_set_axes_corner_color (GtkSeisViewGl *self, const GSeisColor *corner_color);void gtk_seis_view_gl_set_trace_color (GtkSeisViewGl *self, const GSeisColor *trace_color);void gtk_seis_view_gl_set_underlayer_color (GtkSeisViewGl *self, const GSeisColor *underlayer_color);void gtk_seis_view_gl_set_highlight_color (GtkSeisViewGl *self, const GSeisColor *highlight_color);void gtk_seis_view_gl_set_display_mode (GtkSeisViewGl *self, GtkSeisViewDisplayMode mode);void gtk_seis_view_gl_set_va_fill_mode (GtkSeisViewGl *self, GtkSeisViewVAFill mode);void gtk_seis_view_gl_set_inverse_polarity (GtkSeisViewGl *self, gboolean inverse);void gtk_seis_view_gl_set_show_cross (GtkSeisViewGl *self, gboolean show);void gtk_seis_view_gl_set_traces_scale (GtkSeisViewGl *self, gfloat scale);void gtk_seis_view_gl_set_agc_use (GtkSeisViewGl *self, gboolean use_agc, gfloat agc_window);void gtk_seis_view_gl_set_generate_wiggles (GtkSeisViewGl *self, gboolean generate);void gtk_seis_view_gl_set_minmax_mode (GtkSeisViewGl *self, GtkSeisViewMinMax mode);void gtk_seis_view_gl_set_signal_type (GtkSeisViewGl *self, GtkSeisViewSignal type);void gtk_seis_view_gl_set_coloring_mode (GtkSeisViewGl *self, GtkSeisViewColoring mode);void gtk_seis_view_gl_set_data (GtkSeisViewGl *self, gfloat *samples, guint32 slow_num, guint32 fast_num, gfloat *samples_display);void gtk_seis_view_gl_set_data_viewport (GtkSeisViewGl *self, gdouble slow_start_data, gdouble slow_size_data, gdouble fast_start_data, gdouble fast_size_data);void gtk_seis_view_gl_set_highlight_area (GtkSeisViewGl *self, gdouble slow_start_data, gdouble slow_size_data);void gtk_seis_view_gl_set_active_tool (GtkSeisViewGl *self, GSeisViewTool *tool);void gtk_seis_view_gl_set_axis (GtkSeisViewGl *self, GSeisViewAxisType axis_type, GSeisViewAxis *axis);void gtk_seis_view_gl_axis_refresh (GtkSeisViewGl *self, GSeisViewAxisType axis_type);void gtk_seis_view_gl_redraw (GtkSeisViewGl *widget);void gtk_seis_view_gl_render_to_pixbuf (GtkSeisViewGl *self, gint width, gint height);G_END_DECLS#endif /* __GTK_SEIS_VIEW_GL_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -