Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/src/transform_numinput.c')
-rw-r--r--source/blender/src/transform_numinput.c258
1 files changed, 0 insertions, 258 deletions
diff --git a/source/blender/src/transform_numinput.c b/source/blender/src/transform_numinput.c
deleted file mode 100644
index 89a76c097e0..00000000000
--- a/source/blender/src/transform_numinput.c
+++ /dev/null
@@ -1,258 +0,0 @@
-/**
- * $Id$
- *
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * 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, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-#include <math.h> /* fabs */
-#include <stdio.h> /* for sprintf */
-
-#include "BKE_global.h" /* for G */
-#include "BKE_utildefines.h" /* ABS */
-
-#include "mydevice.h" /* for KEY defines */
-
-#include "transform.h"
-
-/* ************************** Functions *************************** */
-
-/* ************************** NUMINPUT **************************** */
-
-void initNumInput(NumInput *n)
-{
- n->flag =
- n->idx =
- n->idx_max =
- n->ctrl[0] =
- n->ctrl[1] =
- n->ctrl[2] = 0;
-
- n->val[0] =
- n->val[1] =
- n->val[2] = 0.0f;
-}
-
-void outputNumInput(NumInput *n, char *str)
-{
- char cur;
- short i, j;
-
- for (j=0; j<=n->idx_max; j++) {
- /* if AFFECTALL and no number typed and cursor not on number, use first number */
- if (n->flag & NUM_AFFECT_ALL && n->idx != j && n->ctrl[j] == 0)
- i = 0;
- else
- i = j;
-
- if (n->idx != i)
- cur = ' ';
- else
- cur = '|';
-
- if( n->val[i] > 1e10 || n->val[i] < -1e10 )
- sprintf(&str[j*20], "%.4e%c", n->val[i], cur);
- else
- switch (n->ctrl[i]) {
- case 0:
- sprintf(&str[j*20], "NONE%c", cur);
- break;
- case 1:
- case -1:
- sprintf(&str[j*20], "%.0f%c", n->val[i], cur);
- break;
- case 10:
- case -10:
- sprintf(&str[j*20], "%.f.%c", n->val[i], cur);
- break;
- case 100:
- case -100:
- sprintf(&str[j*20], "%.1f%c", n->val[i], cur);
- break;
- case 1000:
- case -1000:
- sprintf(&str[j*20], "%.2f%c", n->val[i], cur);
- break;
- case 10000:
- case -10000:
- sprintf(&str[j*20], "%.3f%c", n->val[i], cur);
- break;
- default:
- sprintf(&str[j*20], "%.4e%c", n->val[i], cur);
- }
- }
-}
-
-short hasNumInput(NumInput *n)
-{
- short i;
-
- for (i=0; i<=n->idx_max; i++) {
- if (n->ctrl[i])
- return 1;
- }
-
- return 0;
-}
-
-void applyNumInput(NumInput *n, float *vec)
-{
- short i, j;
- float val[3];
-
- if (hasNumInput(n)) {
- convertDisplayNumToVec(n->val, val);
-
- for (j=0; j<=n->idx_max; j++) {
- /* if AFFECTALL and no number typed and cursor not on number, use first number */
- if (n->flag & NUM_AFFECT_ALL && n->idx != j && n->ctrl[j] == 0)
- i = 0;
- else
- i = j;
-
- if (n->ctrl[i] == 0 && n->flag & NUM_NULL_ONE) {
- vec[j] = 1.0f;
- }
- else if (val[i] == 0.0f && n->flag & NUM_NO_ZERO) {
- vec[j] = 0.0001f;
- }
- else {
- vec[j] = val[i];
- }
- }
- }
-}
-
-char handleNumInput(NumInput *n, unsigned short event)
-{
- float Val = 0;
- short idx = n->idx, idx_max = n->idx_max;
-
- switch (event) {
- case BACKSPACEKEY:
- if (n->ctrl[idx] == 0) {
- n->val[0] =
- n->val[1] =
- n->val[2] = 0.0f;
- n->ctrl[0] =
- n->ctrl[1] =
- n->ctrl[2] = 0;
- }
- else {
- n->val[idx] = 0.0f;
- n->ctrl[idx] = 0;
- }
- break;
- case PERIODKEY:
- case PADPERIOD:
- if (n->flag & NUM_NO_FRACTION)
- break;
-
- switch (n->ctrl[idx])
- {
- case 0:
- case 1:
- n->ctrl[idx] = 10;
- break;
- case -1:
- n->ctrl[idx] = -10;
- }
- break;
- case PADMINUS:
- if(G.qual & LR_ALTKEY)
- break;
- case MINUSKEY:
- if (n->flag & NUM_NO_NEGATIVE)
- break;
-
- if (n->ctrl[idx]) {
- n->ctrl[idx] *= -1;
- n->val[idx] *= -1;
- }
- else
- n->ctrl[idx] = -1;
- break;
- case TABKEY:
- idx++;
- if (idx > idx_max)
- idx = 0;
- n->idx = idx;
- break;
- case PAD9:
- case NINEKEY:
- Val += 1.0f;
- case PAD8:
- case EIGHTKEY:
- Val += 1.0f;
- case PAD7:
- case SEVENKEY:
- Val += 1.0f;
- case PAD6:
- case SIXKEY:
- Val += 1.0f;
- case PAD5:
- case FIVEKEY:
- Val += 1.0f;
- case PAD4:
- case FOURKEY:
- Val += 1.0f;
- case PAD3:
- case THREEKEY:
- Val += 1.0f;
- case PAD2:
- case TWOKEY:
- Val += 1.0f;
- case PAD1:
- case ONEKEY:
- Val += 1.0f;
- case PAD0:
- case ZEROKEY:
- if (!n->ctrl[idx])
- n->ctrl[idx] = 1;
-
- if (fabs(n->val[idx]) > 9999999.0f);
- else if (n->ctrl[idx] == 1) {
- n->val[idx] *= 10;
- n->val[idx] += Val;
- }
- else if (n->ctrl[idx] == -1) {
- n->val[idx] *= 10;
- n->val[idx] -= Val;
- }
- else {
- /* float resolution breaks when over six digits after comma */
- if( ABS(n->ctrl[idx]) < 10000000) {
- n->val[idx] += Val / (float)n->ctrl[idx];
- n->ctrl[idx] *= 10;
- }
- }
- break;
- default:
- return 0;
- }
-
- /* REDRAW SINCE NUMBERS HAVE CHANGED */
- return 1;
-}