]> git.cworth.org Git - vogl/blob - src/vogleditor/vogleditor_qtextureexplorer.h
Initial vogl checkin
[vogl] / src / vogleditor / vogleditor_qtextureexplorer.h
1 #ifndef VOGLEDITOR_QTEXTUREEXPLORER_H
2 #define VOGLEDITOR_QTEXTUREEXPLORER_H
3
4 #include <QWidget>
5
6 #include "vogl_core.h"
7 #include "vogleditor_qtextureviewer.h"
8
9 class vogl_gl_object_state;
10 typedef vogl::vector<vogl_gl_object_state *> vogl_gl_object_state_ptr_vec;
11
12 class vogl_texture_state;
13
14 namespace Ui {
15 class vogleditor_QTextureExplorer;
16 }
17
18 class vogleditor_QTextureExplorer : public QWidget
19 {
20     Q_OBJECT
21
22 public:
23     explicit vogleditor_QTextureExplorer(QWidget *parent = 0);
24     ~vogleditor_QTextureExplorer();
25
26     void set_texture_objects(vogl_gl_object_state_ptr_vec objects);
27     void add_texture_object(vogl_texture_state& textureState, vogl::dynamic_string bufferType);
28
29     bool set_active_texture(unsigned long long textureHandle);
30
31     void clear();
32
33     unsigned int get_preferred_height() const;
34
35     void set_zoom_factor(double zoomFactor);
36
37 private:
38     Ui::vogleditor_QTextureExplorer *ui;
39     vogl_gl_object_state_ptr_vec m_objects;
40     QTextureViewer m_textureViewer;
41
42 private slots:
43     void selectedTextureIndexChanged(int index);
44     void channelSelectionChanged(int index);
45     void alphaBlendButtonClicked();
46     void on_zoomSpinBox_valueChanged(double zoomFactor);
47     void on_pushButton_toggled(bool checked);
48
49     void on_sampleSpinBox_valueChanged(int sample);
50
51 signals:
52     void zoomFactorChanged(double zoomFactor);
53 };
54
55 #endif // VOGLEDITOR_QTEXTUREEXPLORER_H