UnityMol  0.9.6-875
UnityMol viewer / In developement
Rectangles.cs
Go to the documentation of this file.
1 
68 using UnityEngine;
69 using System.Collections;
70 
72 
73  private static int sWidth = (int) (Screen.width * UI.GUIDisplay.guiScale) ;
74  private static int sHeight = (int) (Screen.height * UI.GUIDisplay.guiScale) ;
75 
76  private static float BASE_FONT_SIZE = 20f;
77  private static float BASE_SCREEN_WIDTH = 1920f;
78 // private static float BASE_SCREEN_HEIGHT = 1200f; The aspect ratio is fixed to 16:10 at this time, so this is redundant, and not particularly convenient.
79 
80  public static int mainXstart = sWidth / 400;
81  public static int mainYstart = sWidth / 400;
82  public static int mainWidth = (int) (sWidth * 0.8f); //695 with bfactor
83  public static int mainHeight = sHeight / 20;
84 
85  public static int helpXstart = mainXstart + mainWidth ;
86  public static int helpYstart = mainYstart ;
87  public static int helpWidth = sWidth / 50 ;
88  public static int helpHeight = mainHeight ;
89 
90  public static int exitXstart = helpXstart + helpWidth;
91  public static int exitYstart = mainYstart ;
92  public static int exitWidth = sWidth / 12 ;
93  public static int exitHeight = mainHeight ;
94 
95  // Rectangle for the main menu, the top horizontal bar
96  public static Rect mainRect = new Rect (mainXstart, mainYstart, mainWidth, mainHeight) ;
97  // Rectangle for the little help button
98  public static Rect helpRect = new Rect (helpXstart, helpYstart, helpWidth, helpHeight) ;
99  // Rectangle for the little exit button
100  public static Rect exitRect = new Rect (exitXstart, exitYstart, exitWidth, exitHeight);
101 
102  public static int fileBrowserWidth = sWidth / 3;
103  public static int fileBrowserXstart = Screen.width - fileBrowserWidth; // aligned to the right
104  public static int fileBrowserYstart = mainYstart + mainHeight;
105  public static int fileBrowserHeight = (int) (sHeight * 0.60f);
106 
107  public static Rect fileBrowserRect = new Rect(fileBrowserXstart, fileBrowserYstart, fileBrowserWidth, fileBrowserHeight);
108 
109  public static int atomScalesWidth = sWidth / 3;
110  public static int atomScalesXstart = Screen.width - atomScalesWidth; // aligned to the right
111  public static int atomScalesYstart = mainYstart;
112  public static int atomScalesHeight = (int) (sHeight * 0.5f) ;
113 
114  // Rectangle for the "atom scales and colors" menu
115  public static Rect atomScalesRect = new Rect (atomScalesXstart, atomScalesYstart, atomScalesWidth, atomScalesHeight);
116 
117  // Rectangle for the Panels Menu
118  public static Rect panelsMenuRect = new Rect (atomScalesXstart, Screen.height/2, atomScalesWidth, atomScalesHeight/2);
119 
120  public static int openXstart = mainXstart;
121  public static int openYstart = mainYstart + mainHeight;
122  public static int openWidth = sWidth / 4;
123  public static int openHeight = sHeight / 2;
124 
125  // Rectangle for the open file menu
126  public static Rect openRect = new Rect(openXstart, openYstart, openWidth, openHeight);
127 
128  public static int atomMenuXstart = mainXstart;
129  public static int atomMenuYstart = mainYstart + mainHeight;
130  public static int atomMenuWidth = (int) (sWidth * 0.14f);
131  public static int atomButtonWidth = (int) (Rectangles.atomMenuWidth * 0.45f); // a little less than half the menu
132  public static int atomMenuHeight = (int) (sHeight * 0.52f);
133 
134  // Rectangle for the main atom menu
135  public static Rect atomMenuRect = new Rect (atomMenuXstart, atomMenuYstart, atomMenuWidth, atomMenuHeight) ;
136 
137  public static int atomStyleXstart = mainXstart;
138  public static int atomStyleYstart = atomMenuYstart + atomMenuHeight;
139  public static int atomStyleWidth = atomMenuWidth;
140  public static int atomStyleHeight = (int) (sHeight / 6);
141 
142  // Rectangle for the atom style selection
143  public static Rect atomStyleRect = new Rect(atomStyleXstart, atomStyleYstart, atomStyleWidth, atomStyleHeight);
144 
145  public static int bondTypeXstart = mainXstart;
146  public static int bondTypeYstart = atomMenuYstart + atomMenuHeight;
147  public static int bondTypeWidth = atomMenuWidth;
148  public static int bondTypeHeight = sHeight / 5;
149 
150  // Retangle for the bond type selection menu
151  public static Rect bondTypeRect = new Rect(bondTypeXstart, bondTypeYstart, bondTypeWidth, bondTypeHeight);
152 
153  public static int secStructMenuXstart = atomMenuXstart + atomMenuWidth;
154  public static int secStructMenuYstart = mainYstart + mainHeight;
155  public static int secStructMenuWidth = (int)(sWidth * 0.23f);
156  public static int secStructMenuHeight = secStructMenuHeight = (int) (sHeight * 0.8f);
157 
158  public static Rect secStructMenuRect = new Rect(secStructMenuXstart, secStructMenuYstart, secStructMenuWidth, secStructMenuHeight);
159 
160  public static int surfaceMenuXstart = secStructMenuXstart + secStructMenuWidth ;
161  public static int surfaceMenuYstart = mainYstart + mainHeight;
162  public static int surfaceMenuWidth = sWidth / 8;
163  public static int surfaceMenuHeight = sHeight / 4;
164 
165  // Rectangle for the main surface menu
166  public static Rect surfaceMenuRect = new Rect(surfaceMenuXstart, surfaceMenuYstart, surfaceMenuWidth, surfaceMenuHeight);
167 
169  public static int surfaceParametersYstart = surfaceMenuYstart + surfaceMenuHeight;
171  public static int surfaceParametersHeight = (int)(sHeight * 0.50f);
172 
173  // Rectangle for the surface parameters menu
174  public static Rect surfaceParametersRect = new Rect(surfaceParametersXstart, surfaceParametersYstart, surfaceParametersWidth, surfaceParametersHeight);
175 
176  public static int hydroMenuXstart = surfaceMenuXstart + surfaceMenuWidth;
177  public static int hydroMenuYstart = surfaceMenuYstart + surfaceMenuHeight + 120;
178  public static int hydroMenuWidth = surfaceMenuWidth + 30;
179  public static int hydroMenuHeight = (int)(surfaceMenuHeight);
180 
181  //Rectangle for the hydrophobic scale menu
182  public static Rect hydroMenuRect = new Rect (hydroMenuXstart, hydroMenuYstart, hydroMenuWidth, hydroMenuHeight);
183 
185  public static int surfaceCutYstart = surfaceParametersYstart + surfaceParametersHeight;
187  public static int surfaceCutHeight = (int) (sHeight * 0.32f);
188 
189  // Rectangle for the surface static cut menu
190  public static Rect surfaceCutRect = new Rect(surfaceCutXstart, surfaceCutYstart, surfaceCutWidth, surfaceCutHeight);
191 
195  public static int surfaceMobileCutHeight = sHeight / 6;
196 
197  // Rectangle for the surface mobile cut menu
198  public static Rect surfaceMobileCutRect = new Rect(surfaceMobileCutXstart, surfaceMobileCutYstart, surfaceMobileCutWidth, surfaceMobileCutHeight);
199 
200  public static int moveCutPlaneWidth = (int)(sWidth * 0.18f); // empty plan, so this is fairly arbitrary
201  public static int moveCutPlaneXstart = Screen.width - moveCutPlaneWidth; // aligned to the right
202  public static int moveCutPlaneYstart = mainYstart;
203  public static int moveCutPlaneHeight = moveCutPlaneWidth; // square window seems more convenient
204 
205  // Rectangle for the plane that lets you move the surface cut
206  public static Rect movePlaneRect = new Rect(moveCutPlaneXstart, moveCutPlaneYstart, moveCutPlaneWidth, moveCutPlaneHeight);
207 
208  public static int electroMenuXstart = surfaceMenuXstart + surfaceMenuWidth ;
209  public static int electroMenuYstart = mainYstart + mainHeight;
210  public static int electroMenuWidth = sWidth / 8;
211  public static int electroMenuHeight = (int) (sHeight *0.36f);
212 
213  // Rectangle for the main electrostatics menu
214  public static Rect electroMenuRect = new Rect (electroMenuXstart, electroMenuYstart, electroMenuWidth, electroMenuHeight);
215 
216  public static int fieldLinesXstart = electroMenuXstart;
217  public static int fieldLinesYstart = electroMenuYstart + electroMenuHeight;
218  public static int fieldLinesWidth = electroMenuWidth;
219  public static int fieldLinesHeight = (int) (sHeight *0.36f);
220 
221  // Rectangle for the field lines menu
222  public static Rect fieldLinesRect = new Rect (fieldLinesXstart, fieldLinesYstart, fieldLinesWidth, fieldLinesHeight);
223 
224  public static int manipulatorWidth = sWidth / 6;
225  public static int manipulatorHeight = (int) (sHeight * 0.30f);
226  public static int manipulatorXstart = Screen.width - manipulatorWidth;
227  public static int manipulatorYstart = Screen.height - manipulatorHeight;
228 
229  // Rectangle for the Display menu
230  public static Rect manipulatorRect = new Rect(manipulatorXstart, manipulatorYstart, manipulatorWidth, manipulatorHeight);
231 
233  public static int manipulatorMoveXstart = Screen.width - manipulatorMoveWidth;
234  private static int manipulatorMoveHeight = (int) (sHeight * 0.22f);
235  private static int manipulatorMoveYstart = Screen.height - manipulatorMoveHeight;
236 
237  // Rectangle for the Molecule Manipulator menu
238  public static Rect manipulatorMoveRect = new Rect(manipulatorXstart, manipulatorMoveYstart, manipulatorWidth, manipulatorMoveHeight);
239 
240  public static int colorPickerWidth = 238;
241  public static int colorPickerXstart = Screen.width - colorPickerWidth - atomScalesWidth;
242  public static int colorPickerYstart = mainYstart;
243  public static int colorPickerHeight = 284;
244 
245  // Needs a complete overhaul, but it works (sort of).
246  public static Rect colorPickerRect = new Rect(colorPickerXstart, colorPickerYstart, colorPickerWidth, colorPickerHeight);
247 
248  public static int advOptXstart = electroMenuXstart + electroMenuWidth;
249  public static int advOptYstart = mainYstart + mainHeight;
250  public static int advOptWidth = sWidth / 4 ;
251  public static int advOptHeight = (int) (sHeight *0.30f) ;
252 
253  // Rectangle for the advanced options menu
254  public static Rect advOptionsRect = new Rect(advOptXstart, advOptYstart, advOptWidth, advOptHeight);
255 
256  public static int cubeLineBondTypeXstart = mainXstart ;
257  public static int cubeLineBondTypeYstart = atomMenuYstart + atomMenuHeight;
258  public static int cubeLineBondTypeWidth = atomMenuWidth ;
259  public static int cubeLineBondTypeHeight = sHeight / 8 ;
260 
261  // Sugar Menu
262  public static int SugarMenuTypeXstart = atomMenuXstart+atomMenuWidth ;
263  public static int SugarMenuTypeYstart = atomMenuYstart;
264  public static int SugarMenuTypeWidth = surfaceMenuWidth ;
265  public static int SugarMenuTypeHeight = (int) (sHeight / 4) ;
266  //Now that we define the rectangle size, we create it.
267  public static Rect SugarMenuRect = new Rect(SugarMenuTypeXstart, SugarMenuTypeYstart, SugarMenuTypeWidth, SugarMenuTypeHeight);
268 
269 
270  //SugarRibbonsTuneRect Menu
272  public static int SugarRibbonsTuneYstart = SugarMenuTypeYstart + SugarMenuTypeHeight;
273  public static int SugarRibbonsTuneWidth = surfaceMenuWidth+75 ;
274  public static int SugarRibbonsTuneHeight = (int) (sHeight / 1.45) ;
275  //Now that we define the rectangle size, we create it.
276  public static Rect SugarRibbonsTuneRect = new Rect(SugarRibbonsTuneXstart, SugarRibbonsTuneYstart, SugarRibbonsTuneWidth, SugarRibbonsTuneHeight);
277 
278 
279  //ColorChanges for SugarRibbons Menu
280  public static int ColorTuneXstart = SugarMenuTypeXstart + SugarRibbonsTuneWidth ;
282  public static int ColorTuneWidth = surfaceMenuWidth;
283  public static int ColorTuneHeight = (int) (sHeight / 2) ;
284  //Now that we define the rectangle size, we create it.
285  public static Rect ColorTuneRect = new Rect(ColorTuneXstart, ColorTuneYstart, ColorTuneWidth, ColorTuneHeight);
286 
287  // GuidedNavigation Menu
288  public static int GuidedNavXstart = surfaceMenuXstart ;
289  public static int GuidedNavYstart = surfaceMenuYstart + surfaceMenuHeight;
290  public static int GuidedNavWidth = surfaceMenuWidth ;
291  public static int GuidedNavHeight = sHeight / 6 ;
292 // //Now that we define the rectangle size, we create it.
293  public static Rect GuidedNavRect = new Rect(GuidedNavXstart, GuidedNavYstart, GuidedNavWidth, GuidedNavHeight);
294 
295  // Rectangle for the (cube/line) bond width selection menu
296  public static Rect cubeLineBondRect = new Rect(cubeLineBondTypeXstart, cubeLineBondTypeYstart, cubeLineBondTypeWidth, cubeLineBondTypeHeight) ;
297 
298  public static int hyperballXstart = mainXstart;
299  public static int hyperballYstart = atomMenuYstart + atomMenuHeight;
300  public static int hyperballWidth = atomMenuWidth;
301  public static int hyperballHeight = (int) (sHeight * 0.45f);
302 
303  // Rectangle for the Hyperball Style menu
304  public static Rect hyperballRect = new Rect(hyperballXstart, hyperballYstart, hyperballWidth, hyperballHeight);
305 
306  public static int textureXstart = exitXstart + exitWidth;
307  public static int textureYstart = mainYstart + mainHeight;
308  public static int textureWidth = (int) (sWidth * 0.35f) ;
309  public static int textureHeight = (int) (sHeight * 0.55f);
310 
311  // Rectangle for the texture selection menu (for the MatCap shader)
312  public static Rect textureRect = new Rect (textureXstart, textureYstart, textureWidth, textureHeight);
313 
314  public static int metaphorXstart = atomMenuXstart + atomMenuWidth;
315  public static int metaphorYstart = atomMenuYstart + atomMenuHeight + 40;
316  //public static int metaphorYstart = surfaceCutYstart + surfaceCutHeight;
317  public static int metaphorWidth = sWidth / 8;
318  public static int metaphorHeight = (int) (sHeight * 0.26f);
319 
320  // Rectangle for the normal metaphor menu, opened from the Hyperball Style menu.
321  public static Rect metaphorRect = new Rect(metaphorXstart, metaphorYstart, metaphorWidth, metaphorHeight);
322 
323  public static int effectTypeWidth = sWidth / 9;
324  public static int effectTypeHeight = (int) (sHeight * 0.52f); // +.037 per line
325  public static int effectTypeXstart = Screen.width - effectTypeWidth;
326  public static int effectTypeYstart = manipulatorYstart - effectTypeHeight;
327 
328  // Rectangle for the visual effect selection menu, opened from the Display menu.
329  public static Rect effectTypeRect = new Rect(effectTypeXstart, effectTypeYstart, effectTypeWidth, effectTypeHeight);
330 
331  public static int backTypeWidth = sWidth / 6;
332  public static int backTypeHeight = sHeight / 4;
333  public static int backTypeXstart = manipulatorXstart + ( (manipulatorWidth - backTypeWidth) / 2); // Centred on the Display menu.
334  public static int backTypeYstart = manipulatorYstart - backTypeHeight; // Aligned to the top of the Display menu.
335 
336  // Rectangle for the background selection window (skybox).
337  public static Rect backTypeRect = new Rect(backTypeXstart, backTypeYstart, backTypeWidth, backTypeHeight);
338 
339  public static int webHelpXstart = 0;
340  public static int webHelpHeight = (int) (Screen.height * 0.05f);
341  public static int webHelpYstart = Screen.height - webHelpHeight;
342  public static int webHelpWidth = sWidth / 10;
343 
344  public static Rect expUIRect = new Rect(webHelpXstart, webHelpYstart - 90, webHelpWidth * 2, webHelpHeight);
345  // Rectangle for the button that opens documentation in a web browser (help).
346  public static Rect webHelpRect = new Rect(webHelpXstart, webHelpYstart, webHelpWidth, webHelpHeight);
347 
348  public static int fpsInfosXstart = 0;
349  public static int fpsInfosHeight = (int) (Screen.height * 0.05f);
350  public static int fpsInfosYstart = (int) (Screen.height - webHelpHeight - fpsInfosHeight);
351  public static int fpsInfosWidth = sWidth / 10;
352 
353  // Rectangle for label containing fps and atom/bond count infos.
354  public static Rect fpsInfosRect = new Rect(fpsInfosXstart, fpsInfosYstart, fpsInfosWidth, fpsInfosHeight);
355 
356  public static int residuesMenuWidth = surfaceMenuWidth + 50;
357  public static int residuesMenuXstart = Screen.width - atomScalesWidth - residuesMenuWidth;
358  public static int residuesMenuHeight = atomScalesHeight / 4; // Totally arbitrary values
359  public static int residuesMenuYstart = atomScalesHeight / 2;
360 
361  // Rectangle for the menu displaying the different residues
362  public static Rect residuesMenuRect = new Rect(residuesMenuXstart, residuesMenuYstart, residuesMenuWidth, residuesMenuHeight);
363 
364  // Rectangle for the menu displaying the different atoms
365  public static Rect atomsExtendedMenuRect = new Rect(residuesMenuXstart, residuesMenuYstart, residuesMenuWidth, residuesMenuHeight);
366 
367  // Rectangle for the menu displaying the different chains
368  public static Rect chainsMenuRect = new Rect(residuesMenuXstart, residuesMenuYstart, residuesMenuWidth, residuesMenuHeight);
369 
370  // Rectangle and parameters for the Artemis client menu
371  public static int artemisMenuXstart = surfaceMenuXstart / 2;
373  public static int artemisMenuWidth = surfaceMenuWidth + 50;
374  public static int artemisMenuHeight = sHeight / 2;
375  public static Rect artemisMenuRect = new Rect(artemisMenuXstart, artemisMenuYstart, artemisMenuWidth, artemisMenuHeight);
376 
377  public static int plotWidth = 273;
378  public static int plotHeight = 273;
379  public static int plotWindowWidth = 260;
380  public static int plotWindowHeight = 290;
381 
382  public static Rect artemisTotalEnergyPlotWindowRect = new Rect(100, 100, plotWindowWidth, plotWindowHeight);
383  public static Rect artemisHBondsEnergyPlotWindowRect = new Rect(100, 100, plotWindowWidth, plotWindowHeight);
384  public static Rect artemisStackingEnergyPlotWindowRect = new Rect(100, 100, plotWindowWidth, plotWindowHeight);
385 
386  public static Rect artemisTotalEnergyPlotTextureRect = new Rect(5, 30, plotWidth, plotHeight);
387  public static Rect artemisHBondsEnergyPlotTextureRect = new Rect(5, 30, plotWidth, plotHeight);
388  public static Rect artemisStackingEnergyPlotTextureRect = new Rect(5, 30, plotWidth, plotHeight);
389 
390  public static int hirernaMenuXstart = exitXstart + exitWidth;
392  public static int hirernaMenuWidth = surfaceMenuWidth + 50;
393  public static int hirernaMenuHeight = sHeight / 4;
394  public static Rect hirernaMenuRect = new Rect(hirernaMenuXstart, hirernaMenuYstart, hirernaMenuWidth, hirernaMenuHeight);
395 
398  public static int webContestMenuWidth = surfaceMenuWidth + 50;
399  public static int webContestMenuHeight = sHeight / 2;
400  public static Rect webContestMenuRect = new Rect(webContestMenuXstart, webContestMenuYstart, webContestMenuWidth, webContestMenuHeight);
401 
405  public static void SetFontSize() {
406  GUISkin mySkin = GUI.skin; // getting the current skin
407 
408  // Computing the font size as a function of the screen width (currently proportional to its height)
409  // It's probably best to exclude this from the influence of guiScale.
410  int fontSize = (int) ( ((Screen.width / BASE_SCREEN_WIDTH) * BASE_FONT_SIZE) * UI.GUIDisplay.guiScale);
411 
412  // You'd expect that changing the global font size would conveniently
413  // change all the font sizes of the sub-components of the GUI.
414  // You'd expect that, but you'd be wrong.
415  // Either that or something eludes me. --- Alexandre
416  // If some text doesn't scale, its category may need to be added here.
417  mySkin.box.fontSize = fontSize;
418  mySkin.button.fontSize = fontSize;
419  mySkin.horizontalSlider.fontSize = fontSize;
420  mySkin.textArea.fontSize = fontSize;
421  mySkin.textField.fontSize = fontSize;
422  mySkin.toggle.fontSize = fontSize;
423  mySkin.window.fontSize = fontSize;
424  mySkin.label.fontSize = fontSize;
425 
426  // This is for the file browser, which has its own GUIStyle.
427  GUIStyle subStyle = mySkin.customStyles[0] ;
428  if (subStyle != null)
429  subStyle.fontSize = fontSize;
430 
431  GUI.skin = mySkin; // putting the skin back
432  }
433 
434 
439  public static void Scale() {
440  SetFontSize();
441  sWidth = (int) (Screen.width * UI.GUIDisplay.guiScale) ;
442  sHeight = (int) (Screen.height * UI.GUIDisplay.guiScale) ;
443 
444  mainWidth = (int) (sWidth * 0.5f);
445  mainHeight = sHeight / 20;
446 
447  helpXstart = mainXstart + mainWidth ;
448  helpYstart = mainYstart ;
449  helpWidth = sWidth / 50 ;
450  helpHeight = mainHeight ;
451 
452  exitWidth = sWidth / 12 ;
453  exitHeight = mainHeight ;
454  exitXstart = helpXstart + helpWidth;
455  exitYstart = mainYstart ;
456 
457 
458  mainRect = new Rect (mainXstart, mainYstart, mainWidth, mainHeight) ;
459  helpRect = new Rect (helpXstart, helpYstart, helpWidth, helpHeight) ;
460  exitRect = new Rect (exitXstart, exitYstart, exitWidth, exitHeight);
461 
462  fileBrowserWidth = sWidth / 3;
463  fileBrowserHeight = (int) (sHeight * 0.60f);
464 
465  fileBrowserRect = new Rect(fileBrowserRect.x, fileBrowserRect.y, fileBrowserWidth, fileBrowserHeight);
466 
467  atomScalesWidth = sWidth / 3;
468  atomScalesHeight = (int) (sHeight * 0.73f) ;
469 
470 
471  atomScalesRect = new Rect (atomScalesXstart, atomScalesYstart, atomScalesWidth, atomScalesHeight);
472 
473  openWidth = sWidth / 4;
474  openHeight = sHeight / 2;
475 
476  openRect = new Rect(openRect.x, openRect.y, openWidth, openHeight);
477 
478  atomMenuWidth = (int) (sWidth * 0.14f);
479  atomButtonWidth = (int) (Rectangles.atomMenuWidth * 0.45f);
480  atomMenuHeight = (int) (sHeight * 0.44f);
481 
482  atomMenuRect = new Rect (atomMenuRect.x, atomMenuRect.y, atomMenuWidth, atomMenuHeight) ;
483 
484  atomStyleWidth = atomMenuWidth;
485  atomStyleHeight = (int) (sHeight / 6);
486 
487  atomStyleRect = new Rect(atomStyleRect.x, atomStyleRect.y, atomStyleWidth, atomStyleHeight);
488 
489  secStructMenuWidth = (int)(sWidth * 0.23f);
490  secStructMenuHeight = (int) (sHeight * 0.6f);
491 
492  secStructMenuRect = new Rect(secStructMenuRect.x, secStructMenuRect.y, secStructMenuWidth, secStructMenuHeight);
493 
494  surfaceMenuWidth = sWidth / 8;
495  surfaceMenuHeight = sHeight / 5;
496 
497  surfaceMenuRect = new Rect(surfaceMenuRect.x, surfaceMenuRect.y, surfaceMenuWidth, surfaceMenuHeight);
498 
499  surfaceParametersWidth = surfaceMenuWidth;
500  surfaceParametersHeight = (int)(sHeight * 0.40f);
501 
502  surfaceParametersRect = new Rect(surfaceParametersRect.x, surfaceParametersRect.y, surfaceParametersWidth, surfaceParametersHeight);
503 
504  surfaceCutWidth = surfaceParametersWidth;
505  surfaceCutHeight = (int) (sHeight * 0.32f);
506 
507  surfaceCutRect = new Rect(surfaceCutRect.x, surfaceCutRect.y, surfaceCutWidth, surfaceCutHeight);
508 
509  surfaceMobileCutWidth = surfaceCutWidth ;
510  surfaceMobileCutHeight = sHeight / 6;
511 
512  surfaceMobileCutRect = new Rect(surfaceMobileCutRect.x, surfaceMobileCutRect.y, surfaceMobileCutWidth, surfaceMobileCutHeight);
513 
514  moveCutPlaneWidth = (int)(sWidth * 0.18f); // empty plan, so this is fairly arbitrary
515  moveCutPlaneHeight = moveCutPlaneWidth; // square window seems more convenient
516 
517  movePlaneRect = new Rect(movePlaneRect.x, movePlaneRect.y, moveCutPlaneWidth, moveCutPlaneHeight);
518 
519  electroMenuWidth = sWidth / 8;
520  electroMenuHeight = (int) (sHeight *0.36f);
521 
522  electroMenuRect = new Rect (electroMenuRect.x, electroMenuRect.y, electroMenuWidth, electroMenuHeight);
523 
524  fieldLinesWidth = electroMenuWidth;
525  fieldLinesHeight = (int) (sHeight * 0.36f);
526 
527  fieldLinesRect = new Rect (fieldLinesRect.x, fieldLinesRect.y, fieldLinesWidth, fieldLinesHeight);
528 
529  manipulatorWidth = sWidth / 6;
530  manipulatorHeight = (int) (sHeight * 0.30f);
531 
532  manipulatorRect = new Rect(manipulatorRect.x, manipulatorRect.y, manipulatorWidth, manipulatorHeight);
533 
534  manipulatorMoveWidth = manipulatorWidth;
535  manipulatorMoveHeight = (int) (sHeight * 0.22f);
536 
537  manipulatorMoveRect = new Rect(manipulatorMoveRect.x, manipulatorMoveRect.y, manipulatorWidth, manipulatorMoveHeight);
538 
539  colorPickerWidth = 238; //sWidth / 4;
540  colorPickerHeight = 308;//(int) (sHeight * 0.50);
541 
542  colorPickerRect = new Rect(colorPickerRect.x, colorPickerRect.y, colorPickerWidth, colorPickerHeight);
543 
544  advOptWidth = sWidth / 4 ;
545  advOptHeight = (int) (sHeight * 0.30f) ;
546 
547  advOptionsRect = new Rect(advOptionsRect.x, advOptionsRect.y, advOptWidth, advOptHeight);
548 
549  cubeLineBondTypeWidth = atomMenuWidth ;
550  cubeLineBondTypeHeight = sHeight / 8 ;
551 
552  cubeLineBondRect = new Rect(cubeLineBondRect.x, cubeLineBondRect.y, cubeLineBondTypeWidth, cubeLineBondTypeHeight) ;
553 
554  hyperballWidth = atomMenuWidth;
555  hyperballHeight = (int) (sHeight * 0.40f);
556 
557  hyperballRect = new Rect(hyperballRect.x, hyperballRect.y, hyperballWidth, hyperballHeight);
558 
559  bondTypeWidth = atomMenuWidth;
560  bondTypeHeight = sHeight / 6;
561 
562  bondTypeRect = new Rect(bondTypeXstart, bondTypeYstart, bondTypeWidth, bondTypeHeight);
563 
564  textureWidth = sWidth / 3;
565  textureHeight = (int) (sHeight * 0.40f);
566 
567  textureRect = new Rect (textureRect.x, textureRect.y, textureWidth, textureHeight);
568 
569  metaphorWidth = sWidth / 8;
570  metaphorHeight = (int) (sHeight * 0.26f);
571 
572  metaphorRect = new Rect(metaphorRect.x, metaphorRect.y, metaphorWidth, metaphorHeight);
573 
574  effectTypeWidth = sWidth / 5;
575  effectTypeHeight = (int) (sHeight * 0.38f);
576 
577  effectTypeRect = new Rect(effectTypeRect.x, effectTypeRect.y, effectTypeWidth, effectTypeHeight);
578 
579  backTypeWidth = sWidth / 6;
580  backTypeHeight = sHeight / 4;
581 
582  backTypeRect = new Rect(backTypeRect.x, backTypeRect.y, backTypeWidth, backTypeHeight);
583  } // End of Scale
584 
585 
586 
587 }
static int fileBrowserXstart
Definition: Rectangles.cs:103
static int fpsInfosWidth
Definition: Rectangles.cs:351
static int fpsInfosXstart
Definition: Rectangles.cs:348
static int mainWidth
Definition: Rectangles.cs:82
static int electroMenuYstart
Definition: Rectangles.cs:209
static int moveCutPlaneYstart
Definition: Rectangles.cs:202
static Rect artemisTotalEnergyPlotTextureRect
Definition: Rectangles.cs:386
static int bondTypeHeight
Definition: Rectangles.cs:148
static int mainHeight
Definition: Rectangles.cs:83
static Rect artemisStackingEnergyPlotTextureRect
Definition: Rectangles.cs:388
static int manipulatorMoveWidth
Definition: Rectangles.cs:232
static int manipulatorHeight
Definition: Rectangles.cs:225
static int surfaceMenuHeight
Definition: Rectangles.cs:163
static int atomStyleYstart
Definition: Rectangles.cs:138
static int plotWindowHeight
Definition: Rectangles.cs:380
static int exitWidth
Definition: Rectangles.cs:92
static Rect webContestMenuRect
Definition: Rectangles.cs:400
static int textureXstart
Definition: Rectangles.cs:306
static float BASE_SCREEN_WIDTH
Definition: Rectangles.cs:77
static int fileBrowserYstart
Definition: Rectangles.cs:104
static Rect surfaceMenuRect
Definition: Rectangles.cs:166
static int GuidedNavWidth
Definition: Rectangles.cs:290
static int atomMenuYstart
Definition: Rectangles.cs:129
static Rect hyperballRect
Definition: Rectangles.cs:304
static Rect artemisMenuRect
Definition: Rectangles.cs:375
static int webHelpYstart
Definition: Rectangles.cs:341
static int ColorTuneWidth
Definition: Rectangles.cs:282
static int advOptXstart
Definition: Rectangles.cs:248
static int hirernaMenuWidth
Definition: Rectangles.cs:392
static int helpXstart
Definition: Rectangles.cs:85
static int fieldLinesHeight
Definition: Rectangles.cs:219
static int atomScalesYstart
Definition: Rectangles.cs:111
static int webContestMenuHeight
Definition: Rectangles.cs:399
static int surfaceMobileCutWidth
Definition: Rectangles.cs:194
static int webContestMenuWidth
Definition: Rectangles.cs:398
static int secStructMenuWidth
Definition: Rectangles.cs:155
static int atomStyleWidth
Definition: Rectangles.cs:139
static int surfaceCutWidth
Definition: Rectangles.cs:186
static Rect exitRect
Definition: Rectangles.cs:100
static int plotWindowWidth
Definition: Rectangles.cs:379
static int SugarRibbonsTuneYstart
Definition: Rectangles.cs:272
static int effectTypeYstart
Definition: Rectangles.cs:326
static int surfaceCutHeight
Definition: Rectangles.cs:187
static int bondTypeXstart
Definition: Rectangles.cs:145
static int fileBrowserHeight
Definition: Rectangles.cs:105
static Rect backTypeRect
Definition: Rectangles.cs:337
static int surfaceMobileCutXstart
Definition: Rectangles.cs:192
static int openHeight
Definition: Rectangles.cs:123
static Rect colorPickerRect
Definition: Rectangles.cs:246
static int backTypeXstart
Definition: Rectangles.cs:333
static int hirernaMenuHeight
Definition: Rectangles.cs:393
static int metaphorXstart
Definition: Rectangles.cs:314
static int effectTypeXstart
Definition: Rectangles.cs:325
static int ColorTuneXstart
Definition: Rectangles.cs:280
static Rect surfaceCutRect
Definition: Rectangles.cs:190
static int hydroMenuXstart
Definition: Rectangles.cs:176
static int GuidedNavXstart
Definition: Rectangles.cs:288
static int textureYstart
Definition: Rectangles.cs:307
static int fieldLinesXstart
Definition: Rectangles.cs:216
static int sHeight
Definition: Rectangles.cs:74
static int GuidedNavYstart
Definition: Rectangles.cs:289
static Rect panelsMenuRect
Definition: Rectangles.cs:118
static int advOptWidth
Definition: Rectangles.cs:250
static Rect manipulatorRect
Definition: Rectangles.cs:230
static Rect fpsInfosRect
Definition: Rectangles.cs:354
static int electroMenuXstart
Definition: Rectangles.cs:208
static int manipulatorMoveYstart
Definition: Rectangles.cs:235
static int SugarRibbonsTuneHeight
Definition: Rectangles.cs:274
static void Scale()
Scales all rectangles according to the new guiScale value input by the user.
Definition: Rectangles.cs:439
static int colorPickerWidth
Definition: Rectangles.cs:240
static Rect GuidedNavRect
Definition: Rectangles.cs:293
static int mainYstart
Definition: Rectangles.cs:81
static int webHelpWidth
Definition: Rectangles.cs:342
static int hyperballYstart
Definition: Rectangles.cs:299
static int atomMenuXstart
Definition: Rectangles.cs:128
static int manipulatorXstart
Definition: Rectangles.cs:226
static int surfaceMenuWidth
Definition: Rectangles.cs:162
static int SugarMenuTypeXstart
Definition: Rectangles.cs:262
static Rect atomStyleRect
Definition: Rectangles.cs:143
static Rect manipulatorMoveRect
Definition: Rectangles.cs:238
static Rect artemisHBondsEnergyPlotTextureRect
Definition: Rectangles.cs:387
static Rect mainRect
Definition: Rectangles.cs:96
static int backTypeWidth
Definition: Rectangles.cs:331
static Rect metaphorRect
Definition: Rectangles.cs:321
static int residuesMenuXstart
Definition: Rectangles.cs:357
static int surfaceCutXstart
Definition: Rectangles.cs:184
static int plotWidth
Definition: Rectangles.cs:377
static int atomMenuHeight
Definition: Rectangles.cs:132
static int fileBrowserWidth
Definition: Rectangles.cs:102
static int hydroMenuHeight
Definition: Rectangles.cs:179
static int textureWidth
Definition: Rectangles.cs:308
static int hydroMenuWidth
Definition: Rectangles.cs:178
static int exitYstart
Definition: Rectangles.cs:91
static int moveCutPlaneHeight
Definition: Rectangles.cs:203
static Rect hydroMenuRect
Definition: Rectangles.cs:182
static int textureHeight
Definition: Rectangles.cs:309
static int colorPickerYstart
Definition: Rectangles.cs:242
static int openXstart
Definition: Rectangles.cs:120
static int electroMenuHeight
Definition: Rectangles.cs:211
static int artemisMenuWidth
Definition: Rectangles.cs:373
static int effectTypeWidth
Definition: Rectangles.cs:323
static int ColorTuneHeight
Definition: Rectangles.cs:283
static float BASE_FONT_SIZE
Definition: Rectangles.cs:76
static int fpsInfosHeight
Definition: Rectangles.cs:349
static int moveCutPlaneXstart
Definition: Rectangles.cs:201
static int surfaceMobileCutHeight
Definition: Rectangles.cs:195
static int moveCutPlaneWidth
Definition: Rectangles.cs:200
static int manipulatorMoveHeight
Definition: Rectangles.cs:234
static int hyperballWidth
Definition: Rectangles.cs:300
static float guiScale
Definition: GUIDisplay.cs:101
static Rect webHelpRect
Definition: Rectangles.cs:346
static Rect bondTypeRect
Definition: Rectangles.cs:151
static Rect artemisStackingEnergyPlotWindowRect
Definition: Rectangles.cs:384
static Rect textureRect
Definition: Rectangles.cs:312
static Rect hirernaMenuRect
Definition: Rectangles.cs:394
static int openWidth
Definition: Rectangles.cs:122
static int surfaceCutYstart
Definition: Rectangles.cs:185
static int atomStyleXstart
Definition: Rectangles.cs:137
static int SugarMenuTypeYstart
Definition: Rectangles.cs:263
static int cubeLineBondTypeWidth
Definition: Rectangles.cs:258
static Rect artemisTotalEnergyPlotWindowRect
Definition: Rectangles.cs:382
static Rect fieldLinesRect
Definition: Rectangles.cs:222
static int surfaceParametersXstart
Definition: Rectangles.cs:168
static int helpHeight
Definition: Rectangles.cs:88
static Rect electroMenuRect
Definition: Rectangles.cs:214
static int webContestMenuXstart
Definition: Rectangles.cs:396
static int atomScalesXstart
Definition: Rectangles.cs:110
static Rect SugarRibbonsTuneRect
Definition: Rectangles.cs:276
static int SugarRibbonsTuneXstart
Definition: Rectangles.cs:271
static int secStructMenuXstart
Definition: Rectangles.cs:153
static int fpsInfosYstart
Definition: Rectangles.cs:350
static int GuidedNavHeight
Definition: Rectangles.cs:291
static int helpWidth
Definition: Rectangles.cs:87
static Rect openRect
Definition: Rectangles.cs:126
static int metaphorHeight
Definition: Rectangles.cs:318
static int electroMenuWidth
Definition: Rectangles.cs:210
static int exitXstart
Definition: Rectangles.cs:90
static int SugarMenuTypeHeight
Definition: Rectangles.cs:265
static Rect atomMenuRect
Definition: Rectangles.cs:135
static int mainXstart
Definition: Rectangles.cs:80
static int exitHeight
Definition: Rectangles.cs:93
static int surfaceMenuYstart
Definition: Rectangles.cs:161
static int surfaceMobileCutYstart
Definition: Rectangles.cs:193
static int residuesMenuHeight
Definition: Rectangles.cs:358
!WiP manage GUI, and provide static strings for the GUI.
Definition: GUIDisplay.cs:94
static int webHelpHeight
Definition: Rectangles.cs:340
static int advOptYstart
Definition: Rectangles.cs:249
static int atomMenuWidth
Definition: Rectangles.cs:130
static int artemisMenuHeight
Definition: Rectangles.cs:374
static int colorPickerHeight
Definition: Rectangles.cs:243
static int cubeLineBondTypeXstart
Definition: Rectangles.cs:256
static Rect artemisHBondsEnergyPlotWindowRect
Definition: Rectangles.cs:383
static Rect ColorTuneRect
Definition: Rectangles.cs:285
static int atomScalesHeight
Definition: Rectangles.cs:112
static int advOptHeight
Definition: Rectangles.cs:251
static Rect surfaceMobileCutRect
Definition: Rectangles.cs:198
static int backTypeHeight
Definition: Rectangles.cs:332
static int ColorTuneYstart
Definition: Rectangles.cs:281
static int manipulatorMoveXstart
Definition: Rectangles.cs:233
static int artemisMenuYstart
Definition: Rectangles.cs:372
static int surfaceParametersWidth
Definition: Rectangles.cs:170
static int helpYstart
Definition: Rectangles.cs:86
static int fieldLinesWidth
Definition: Rectangles.cs:218
static Rect residuesMenuRect
Definition: Rectangles.cs:362
static Rect fileBrowserRect
Definition: Rectangles.cs:107
static Rect surfaceParametersRect
Definition: Rectangles.cs:174
static int colorPickerXstart
Definition: Rectangles.cs:241
static Rect secStructMenuRect
Definition: Rectangles.cs:158
static int artemisMenuXstart
Definition: Rectangles.cs:371
static int atomButtonWidth
Definition: Rectangles.cs:131
static Rect movePlaneRect
Definition: Rectangles.cs:206
static int hyperballXstart
Definition: Rectangles.cs:298
static int hydroMenuYstart
Definition: Rectangles.cs:177
static int bondTypeYstart
Definition: Rectangles.cs:146
static int residuesMenuYstart
Definition: Rectangles.cs:359
static Rect effectTypeRect
Definition: Rectangles.cs:329
static int SugarRibbonsTuneWidth
Definition: Rectangles.cs:273
static int cubeLineBondTypeHeight
Definition: Rectangles.cs:259
static Rect helpRect
Definition: Rectangles.cs:98
static int surfaceMenuXstart
Definition: Rectangles.cs:160
static int openYstart
Definition: Rectangles.cs:121
static int surfaceParametersHeight
Definition: Rectangles.cs:171
static Rect SugarMenuRect
Definition: Rectangles.cs:267
static int bondTypeWidth
Definition: Rectangles.cs:147
static int atomScalesWidth
Definition: Rectangles.cs:109
static int metaphorWidth
Definition: Rectangles.cs:317
static Rect cubeLineBondRect
Definition: Rectangles.cs:296
static Rect atomScalesRect
Definition: Rectangles.cs:115
static Rect expUIRect
Definition: Rectangles.cs:344
static int plotHeight
Definition: Rectangles.cs:378
static int effectTypeHeight
Definition: Rectangles.cs:324
static int sWidth
Definition: Rectangles.cs:73
static int hirernaMenuYstart
Definition: Rectangles.cs:391
static int atomStyleHeight
Definition: Rectangles.cs:140
static int backTypeYstart
Definition: Rectangles.cs:334
static Rect advOptionsRect
Definition: Rectangles.cs:254
static int surfaceParametersYstart
Definition: Rectangles.cs:169
static int metaphorYstart
Definition: Rectangles.cs:315
static int manipulatorWidth
Definition: Rectangles.cs:224
static int hyperballHeight
Definition: Rectangles.cs:301
static int residuesMenuWidth
Definition: Rectangles.cs:356
static int SugarMenuTypeWidth
Definition: Rectangles.cs:264
static int webContestMenuYstart
Definition: Rectangles.cs:397
static int manipulatorYstart
Definition: Rectangles.cs:227
static int webHelpXstart
Definition: Rectangles.cs:339
static Rect chainsMenuRect
Definition: Rectangles.cs:368
static int secStructMenuHeight
Definition: Rectangles.cs:156
static int hirernaMenuXstart
Definition: Rectangles.cs:390
Definition: GUIDisplay.cs:66
static int secStructMenuYstart
Definition: Rectangles.cs:154
static void SetFontSize()
Sets the size of the font.
Definition: Rectangles.cs:405
static int cubeLineBondTypeYstart
Definition: Rectangles.cs:257
static int fieldLinesYstart
Definition: Rectangles.cs:217
static Rect atomsExtendedMenuRect
Definition: Rectangles.cs:365