Blender V2.61 - r43446
|
00001 /* 00002 * ***** BEGIN GPL LICENSE BLOCK ***** 00003 * 00004 * This program is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU General Public License 00006 * as published by the Free Software Foundation; either version 2 00007 * of the License, or (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program; if not, write to the Free Software Foundation, 00016 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00017 * 00018 * Contributor(s): none yet. 00019 * 00020 * ***** END GPL LICENSE BLOCK ***** 00021 */ 00022 00027 #ifndef ED_NUMINPUT_H 00028 #define ED_NUMINPUT_H 00029 00030 00031 typedef struct NumInput { 00032 short idx; 00033 short idx_max; 00034 short flag; /* Different flags to indicate different behaviors */ 00035 char inv[3]; /* If the value is inverted or not */ 00036 float val[3]; /* Direct value of the input */ 00037 int ctrl[3]; /* Control to indicate what to do with the numbers that are typed */ 00038 float increment; 00039 } NumInput ; 00040 00041 /* NUMINPUT FLAGS */ 00042 #define NUM_NULL_ONE 2 00043 #define NUM_NO_NEGATIVE 4 00044 #define NUM_NO_ZERO 8 00045 #define NUM_NO_FRACTION 16 00046 #define NUM_AFFECT_ALL 32 00047 00048 /*********************** NumInput ********************************/ 00049 00050 void initNumInput(NumInput *n); 00051 void outputNumInput(NumInput *n, char *str); 00052 short hasNumInput(NumInput *n); 00053 void applyNumInput(NumInput *n, float *vec); 00054 char handleNumInput(NumInput *n, struct wmEvent *event); 00055 00056 #define NUM_MODAL_INCREMENT_UP 18 00057 #define NUM_MODAL_INCREMENT_DOWN 19 00058 00059 #endif