1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187
|
// ----------------------------------------------------------------------------
//
// Copyright (C) 2004-2021 Fons Adriaensen <fons@linuxaudio.org>
//
// 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 details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
// ----------------------------------------------------------------------------
#ifndef __GOBJECTS_H
#define __GOBJECTS_H
#include "styles.h"
class GUI_select : public X_callback
{
public:
void init (X_window *W, X_callback *C, int k, int x, int y,
const char *label, const char **texts);
int get_state (void) const { return _state; }
void set_state (int state) { _tstat->set_text (_texts [_state = state]); }
virtual ~GUI_select (void) {}
private:
virtual void handle_callb (int k, X_window *W, _XEvent *E);
X_callback *_callb;
X_textip *_tstat;
int _cbnum;
int _state;
const char **_texts;
};
class GUI_bgroup : public X_callback
{
public:
void init (X_window *W, X_callback *C, X_button_style *B, int k, int x, int y,
const char *label, const char **texts);
int get_state (void) const { return _state; }
void set_state (int state);
virtual ~GUI_bgroup (void) {}
private:
virtual void handle_callb (int k, X_window *W, _XEvent *E);
X_callback *_callb;
X_button *_butt [4];
int _cbnum;
int _state;
};
class GUI_input : public X_callback
{
public:
void init (X_window *W, X_callback *C, int k, int x0, int y0);
int get_input (void) const { return _input; }
float get_gain (void) const { return _gain; }
bool get_link (void) const { return _blink ? _blink->stat () : 0; }
void set_gain (float g);
virtual ~GUI_input (void) {}
private:
enum { INP1, INP2, INP3, INP4, DEC, INC, AUTO, LINK };
virtual void handle_callb (int k, X_window *W, _XEvent *E);
X_callback *_callb;
X_button *_binp [4];
X_textip *_tgain;
X_button *_blink;
int _group;
int _input;
float _gain;
};
class GUI_analys
{
public:
void init (X_window *W, X_callback *C, int x, int y);
int get_resol (void) const { return _resol.get_state (); }
int get_wfact (void) const { return _wfact.get_state (); }
int get_speed (void) const { return _speed.get_state (); }
private:
GUI_select _resol;
GUI_select _wfact;
GUI_select _speed;
static const char *_resol_texts [];
static const char *_wfact_texts [];
static const char *_speed_texts [];
};
class GUI_memory : public X_callback
{
public:
void init (X_window *W, X_callback *C, int k, int x, int y);
int get_mode (void) const { return _mode; }
virtual ~GUI_memory (void) {}
private:
virtual void handle_callb (int k, X_window *W, _XEvent *E);
X_callback *_callb;
int _group;
int _mode;
};
class GUI_traces
{
public:
void init (X_window *W, X_callback *C, int x, int y);
int get_traceA (void) const { return _traceA.get_state (); }
int get_traceB (void) const { return _traceB.get_state (); }
int get_traceX (void) const { return _traceX.get_state (); }
int get_traceY (void) const { return _traceY.get_state (); }
private:
GUI_bgroup _traceA;
GUI_bgroup _traceB;
GUI_bgroup _traceX;
GUI_bgroup _traceY;
static const char *_traceA_texts [];
static const char *_traceB_texts [];
static const char *_traceX_texts [];
static const char *_traceY_texts [];
};
class GUI_display
{
public:
void init (X_window *W, X_callback *C, int x, int y);
int get_ascale (void) const { return _ascale.get_state (); }
int get_fscale (void) const { return _fscale.get_state (); }
int get_arespf (void) const { return _arespf.get_state (); }
private:
GUI_select _ascale;
GUI_select _fscale;
GUI_select _arespf;
static const char *_ascale_texts [];
static const char *_fscale_texts [];
static const char *_arespf_texts [];
};
#endif
|