Index: /branches/2d-recalc/src/lib/graphics/graphics_engine.cc
===================================================================
--- /branches/2d-recalc/src/lib/graphics/graphics_engine.cc	(revision 5379)
+++ /branches/2d-recalc/src/lib/graphics/graphics_engine.cc	(revision 5380)
@@ -301,5 +301,5 @@
     glMatrixMode(GL_PROJECTION_MATRIX);
     glLoadIdentity();
-    glViewport(0,0,width,height);                                                   // Reset The Current Viewport
+    glViewport(0,0,width,height);    // Reset The Current Viewport
 }
 
@@ -421,5 +421,5 @@
   glLoadIdentity();
 
-  glOrtho(0.0, (GLdouble)screen->w, (GLdouble)screen->h, 0.0, 0.0, 1.0);
+  glOrtho(0.0, 1, 1, 0.0, 0.0, 1.0);
 
   glMatrixMode(GL_MODELVIEW);
@@ -565,5 +565,5 @@
     this->geTextCFPS->setName("curFPS");
     this->geTextCFPS->setAlignment(TEXT_ALIGN_LEFT);
-    this->geTextCFPS->setAbsCoor2D(5, 15);
+    this->geTextCFPS->setAbsCoor2Dpx(5, 15);
   }
   if (this->geTextMaxFPS == NULL)
@@ -572,5 +572,5 @@
     this->geTextMaxFPS->setName("MaxFPS");
     this->geTextMaxFPS->setAlignment(TEXT_ALIGN_LEFT);
-    this->geTextMaxFPS->setAbsCoor2D(5, 40);
+    this->geTextMaxFPS->setAbsCoor2Dpx(5, 40);
   }
   if (this->geTextMinFPS == NULL)
@@ -579,5 +579,5 @@
     this->geTextMinFPS->setName("MinFPS");
     this->geTextMinFPS->setAlignment(TEXT_ALIGN_LEFT);
-    this->geTextMinFPS->setAbsCoor2D(5, 65);
+    this->geTextMinFPS->setAbsCoor2Dpx(5, 65);
   }
 }
Index: /branches/2d-recalc/src/lib/graphics/render2D/element_2d.cc
===================================================================
--- /branches/2d-recalc/src/lib/graphics/render2D/element_2d.cc	(revision 5379)
+++ /branches/2d-recalc/src/lib/graphics/render2D/element_2d.cc	(revision 5380)
@@ -221,4 +221,32 @@
   else if (!strcmp(layer, "below-all"))
     this->setLayer(E2D_BELOW_ALL);
+}
+
+
+void Element2D::setSize2Dpx(int x, int y)
+{
+  this->setSize2D((float)(x)/(float)GraphicsEngine::getInstance()->getResolutionX(), (float)(y)/(float)GraphicsEngine::getInstance()->getResolutionY());
+}
+
+
+void Element2D::setSizeX2Dpx(int x)
+{
+  this->setSizeX2D((float)x/(float)GraphicsEngine::getInstance()->getResolutionX());
+}
+
+
+void Element2D::setSizeY2Dpx(int y)
+{
+  this->setSizeY2D((float)y/(float)GraphicsEngine::getInstance()->getResolutionY());
+}
+
+int Element2D::getSizeX2Dpx() const
+{
+  return (int)((float)this->getSizeX2D()*GraphicsEngine::getInstance()->getResolutionX());
+}
+
+int Element2D::getSizeY2Dpx() const
+{
+  return (int)((float)this->getSizeY2D()*GraphicsEngine::getInstance()->getResolutionY());
 }
 
Index: /branches/2d-recalc/src/lib/graphics/render2D/element_2d.h
===================================================================
--- /branches/2d-recalc/src/lib/graphics/render2D/element_2d.h	(revision 5379)
+++ /branches/2d-recalc/src/lib/graphics/render2D/element_2d.h	(revision 5380)
@@ -100,8 +100,13 @@
 
     inline void setSize2D(float x, float y) { this->sizeX = x, this->sizeY = y; };
+    void setSize2Dpx(int x, int y);
     inline void setSizeX2D(float x) { this->sizeX = x; };
+    void setSizeX2Dpx(int x);
     inline void setSizeY2D(float y) { this->sizeY = y; };
+    void setSizeY2Dpx(int y);
     inline float getSizeX2D() const { return this->sizeX; };
+    int getSizeX2Dpx() const;
     inline float getSizeY2D() const { return this->sizeY; };
+    int getSizeY2Dpx() const;
 
     // LIKE PNODE
Index: /branches/2d-recalc/src/lib/graphics/text_engine/text.cc
===================================================================
--- /branches/2d-recalc/src/lib/graphics/text_engine/text.cc	(revision 5379)
+++ /branches/2d-recalc/src/lib/graphics/text_engine/text.cc	(revision 5380)
@@ -29,4 +29,5 @@
 /**
  *  creates a new Text Element
+ * @param textSize the size of the font to be displayed.
  * @param fontFile the Font to render this text in
  * @param type The renderType to display this font in
@@ -39,5 +40,5 @@
     this->setFont(fontFile, FONT_DEFAULT_RENDER_SIZE);
   this->setType(type);
-  this->size = textSize;
+  this->setSizeY2Dpx(textSize);
 }
 
@@ -71,5 +72,5 @@
   this->blending = TEXT_DEFAULT_BLENDING;
   this->color = TEXT_DEFAULT_COLOR;
-  this->size = TEXT_DEFAULT_SIZE;
+  this->setSizeY2Dpx(TEXT_DEFAULT_SIZE);
   this->setType(TEXT_RENDER_DYNAMIC);
 
@@ -250,14 +251,14 @@
           glBegin(GL_QUADS);
           glTexCoord2f(tmpGlyph->texCoord[0], tmpGlyph->texCoord[2]);
-          glVertex2d(posX, - tmpGlyph->bearingY * this->size);
+          glVertex2d(posX, - tmpGlyph->bearingY * this->getSizeY2D());
           glTexCoord2f(tmpGlyph->texCoord[0], tmpGlyph->texCoord[3]);
-          glVertex2d(posX, (tmpGlyph->height - tmpGlyph->bearingY)*this->size);
+          glVertex2d(posX, (tmpGlyph->height - tmpGlyph->bearingY)*this->getSizeY2D());
           glTexCoord2f(tmpGlyph->texCoord[1], tmpGlyph->texCoord[3]);
-          glVertex2d(posX+tmpGlyph->width*this->size, (tmpGlyph->height - tmpGlyph->bearingY)*this->size);
+          glVertex2d(posX+tmpGlyph->width*this->getSizeY2D(), (tmpGlyph->height - tmpGlyph->bearingY)*this->getSizeY2D());
           glTexCoord2f(tmpGlyph->texCoord[1], tmpGlyph->texCoord[2]);
-          glVertex2d(posX+tmpGlyph->width*this->size, - tmpGlyph->bearingY*this->size);
+          glVertex2d(posX+tmpGlyph->width*this->getSizeY2D(), - tmpGlyph->bearingY*this->getSizeY2D());
           glEnd();
           glEndList();
-          posX += tmpGlyph->width*this->size;
+          posX += tmpGlyph->width*this->getSizeY2D();
         }
         tmpText++;
@@ -298,6 +299,4 @@
     PRINT(0)("=== TEXT: %s ===\n", this->externText);
 
-  if (this->getBindNode())
-    PRINT(0)("is bind to %s; ref=%p\n", this->getBindNode()->getName(), this->getBindNode());
   PRINT(0)("Color: %0.2f %0.2f %0.2f\n", this->color.x, this->color.y, this->color.z);
 }
Index: /branches/2d-recalc/src/lib/graphics/text_engine/text.h
===================================================================
--- /branches/2d-recalc/src/lib/graphics/text_engine/text.h	(revision 5379)
+++ /branches/2d-recalc/src/lib/graphics/text_engine/text.h	(revision 5380)
@@ -55,4 +55,5 @@
   public:
     Text(const char* fontFile, unsigned int fontSize = TEXT_DEFAULT_SIZE, TEXT_RENDER_TYPE type = TEXT_RENDER_DYNAMIC);
+    Text(const char* fontFile, float fontSize);
     ~Text();
     void init();
@@ -69,7 +70,5 @@
     void setColor(float r, float g, float b) { this->color = Vector(r, g, b); };
     /** sets the Size of the Font */
-    void setSize(float size) { this->size = size; };
-    /** @returns the Size of the Text */
-//    void getSize(float &x, float& y) const { return this->size; };
+    inline void setTextSize(unsigned int size) { this->setSizeY2Dpx(size); };
 
     void setType(TEXT_RENDER_TYPE type);
@@ -92,5 +91,4 @@
     Vector            color;          //!< The color of the font.
     float             blending;       //!< The blending intensity.
-    float             size;           //!< The size of the Font.
 
   // placement in openGL
Index: /branches/2d-recalc/src/lib/gui/gl_gui/glmenu/glmenu_imagescreen.cc
===================================================================
--- /branches/2d-recalc/src/lib/gui/gl_gui/glmenu/glmenu_imagescreen.cc	(revision 5379)
+++ /branches/2d-recalc/src/lib/gui/gl_gui/glmenu/glmenu_imagescreen.cc	(revision 5380)
@@ -200,4 +200,5 @@
 /**
  *  draws the ImageScreen to the screenbuffer
+ * @todo redesign this whole function, as it is deprecated.
 */
 void GLMenuImageScreen::draw ()
@@ -209,18 +210,18 @@
 
   /* screen size */
-  int screenWidth = GraphicsEngine::getInstance()->getResolutionX();
-  int screenHeight = GraphicsEngine::getInstance()->getResolutionY();
-
-  int imageWidth = (int)(screenWidth * this->scaleX);
-  int imageHeight = (int)(screenHeight * this->scaleY);
-
-  int offsetX = (int)(this->offsetX * screenWidth);
-  int offsetY = (int)(this->offsetY * screenHeight);
+  float screenWidth = 1;//GraphicsEngine::getInstance()->getResolutionX();
+  float screenHeight = 1;//GraphicsEngine::getInstance()->getResolutionY();
+
+  float imageWidth = (screenWidth * this->scaleX);
+  float imageHeight = (screenHeight * this->scaleY);
+
+  float offsetX = (this->offsetX * screenWidth);
+  float offsetY = (this->offsetY * screenHeight);
 
   /* loadbar pos */
-  int barX = (int)(this->barX *screenWidth);
-  int barY = (int)(this->barY *screenHeight);
-  int barW = (int)(this->barW *screenWidth);
-  int barH = (int)(this->barH *screenHeight);
+  float barX = (this->barX *screenWidth);
+  float barY = (this->barY *screenHeight);
+  float barW = (this->barW *screenWidth);
+  float barH = (this->barH *screenHeight);
 
   float val = (float)this->currentValue/(float)this->maxValue;
@@ -234,8 +235,8 @@
   backMat->select();
   glBegin(GL_TRIANGLE_STRIP);
-  glTexCoord2i(0, 1); glVertex2i(offsetX, offsetY + imageHeight);
-  glTexCoord2i(1, 1); glVertex2i(offsetX +imageWidth, offsetY + imageHeight);
-  glTexCoord2i(0, 0); glVertex2i(offsetX, offsetY);
-  glTexCoord2i(1, 0); glVertex2i(offsetX + imageWidth, offsetY);
+  glTexCoord2i(0, 1); glVertex2f(offsetX, offsetY + imageHeight);
+  glTexCoord2i(1, 1); glVertex2f(offsetX +imageWidth, offsetY + imageHeight);
+  glTexCoord2i(0, 0); glVertex2f(offsetX, offsetY);
+  glTexCoord2i(1, 0); glVertex2f(offsetX + imageWidth, offsetY);
   glEnd();
 
@@ -244,8 +245,8 @@
   glBegin(GL_LINE_LOOP);
   glColor3f(1.0, 1.0, 1.0);
-  glVertex2i(barX - 2, barY - 2);
-  glVertex2i(barX + barW + 2, barY - 2);
-  glVertex2i(barX + barW + 2, barY + barH + 2);
-  glVertex2i(barX - 2, barY + barH + 2);
+  glVertex2f(barX - .01, barY - .01);
+  glVertex2f(barX + barW + .01, barY - .01);
+  glVertex2f(barX + barW + .01, barY + barH + .01);
+  glVertex2f(barX - .01, barY + barH + .01);
   glColor3f(1.0, 1.0, 1.0);
   glEnd();
@@ -254,8 +255,8 @@
   barMat->select();
   glBegin(GL_TRIANGLE_STRIP);
-  glTexCoord2f(0,   1); glVertex2i(barX, barY + barH);
-  glTexCoord2f(val, 1); glVertex2i(barX + (int)(val * this->barW * (float)screenWidth), barY + barH);
-  glTexCoord2f(0,   0); glVertex2i(barX, barY);
-  glTexCoord2f(val, 0); glVertex2i(barX + (int)(val * this->barW * (float)screenWidth), barY);
+  glTexCoord2f(0,   1); glVertex2f(barX, barY + barH);
+  glTexCoord2f(val, 1); glVertex2f(barX + (val * this->barW * (float)screenWidth), barY + barH);
+  glTexCoord2f(0,   0); glVertex2f(barX, barY);
+  glTexCoord2f(val, 0); glVertex2f(barX + (val * this->barW * (float)screenWidth), barY);
   glEnd();
 
@@ -263,8 +264,8 @@
     glBegin(GL_QUADS);
     glColor3f(0.0, 0.0, 0.0);
-    glVertex2i(barX, barY);
-    glVertex2i(barX + barWidth, barY);
-    glVertex2i(barX + barWidth, barY + barHeight);
-    glVertex2i(barX, barY + barHeight);
+    glVertex2f(barX, barY);
+    glVertex2f(barX + barWidth, barY);
+    glVertex2f(barX + barWidth, barY + barHeight);
+    glVertex2f(barX, barY + barHeight);
     glColor3f(1.0, 1.0, 1.0);
     glEnd();
@@ -273,8 +274,8 @@
     glBegin(GL_QUADS);
     glColor3f(0.0, 0.0, 0.0);
-    glVertex2i(barX-1, barY-1);
-    glVertex2i(barX + barWidth +1, barY-1);
-    glVertex2i(barX + barWidth+1, barY + barHeight+1);
-    glVertex2i(barX - 1, barY + barHeight +1);
+    glVertex2f(barX-1, barY-1);
+    glVertex2f(barX + barWidth +1, barY-1);
+    glVertex2f(barX + barWidth+1, barY + barHeight+1);
+    glVertex2f(barX - 1, barY + barHeight +1);
     glColor3f(1.0, 1.0, 1.0);
     glEnd();
Index: /branches/2d-recalc/src/lib/shell/shell.cc
===================================================================
--- /branches/2d-recalc/src/lib/shell/shell.cc	(revision 5379)
+++ /branches/2d-recalc/src/lib/shell/shell.cc	(revision 5380)
@@ -81,7 +81,6 @@
   this->backgroundMaterial = new Material;
   // Element2D and generals
-  this->setAbsCoor2D(3, -400);
-  this->textSize = 20;
-  this->lineSpacing = 0;
+  this->textSize = .001;
+  this->lineSpacing = .001;
   this->bActive = false;
   this->fontFile = new char[strlen(SHELL_DEFAULT_FONT)+1];
@@ -93,5 +92,5 @@
   this->setTextColor(SHELL_DEFAULT_TEXT_COLOR);
   this->setBackgroundColor(SHELL_DEFAULT_BACKGROUND_COLOR);
-
+  this->setRelCoor2D(0,-this->shellHeight, 0);
   // register the shell at the ShellBuffer
   ShellBuffer::getInstance()->registerShell(this);
@@ -128,5 +127,5 @@
 
   EventHandler::getInstance()->setState(ES_SHELL);
-  this->setRelCoorSoft2D(0, 0, 1, 5);
+  this->setRelCoorSoft2D(0, 0, 0, 5);
 
   tIterator<char>* bufferIT = ShellBuffer::getInstance()->getBuffer()->getIterator();
@@ -250,8 +249,8 @@
   if (this->shellInput != NULL)
   {
-    this->shellInput->setSize(this->textSize);
+    this->shellInput->setSizeY2D(this->textSize);
     this->shellInput->setColor(this->textColor[0], this->textColor[1], this->textColor[2]);
     this->shellInput->setBlending(this->textColor[3]);
-    this->shellInput->setRelCoor2D(5, (this->textSize + this->lineSpacing)*this->bufferDisplaySize + this->textSize);
+    this->shellInput->setRelCoor2D(.005, (this->textSize + this->lineSpacing)*this->bufferDisplaySize + this->textSize);
   }
 
@@ -262,5 +261,5 @@
       if (this->bufferText[i] != NULL)
       {
-        this->bufferText[i]->setSize(this->textSize);
+        this->bufferText[i]->setSizeY2D(this->textSize);
         this->bufferText[i]->setColor(this->textColor[0], this->textColor[1], this->textColor[2]);
         this->bufferText[i]->setBlending(this->textColor[3]);
@@ -269,6 +268,5 @@
     }
   }
-  this->shellHeight = (this->textSize + this->lineSpacing) * (bufferDisplaySize+1);
-
+  this->shellHeight = (float)(this->textSize + this->lineSpacing) * (bufferDisplaySize+1.0);
 }
 
@@ -365,6 +363,6 @@
   */
     lastText->setRelDir2D(-90);
-    lastText->setRelDirSoft2D(0, 10);
-    lastText->setRelCoor2D(this->calculateLinePosition(0)- Vector(-1000,0,0));
+    lastText->setRelDirSoft2D(0, 1);
+    lastText->setRelCoor2D(this->calculateLinePosition(0)- Vector(-1,0,0));
     lastText->setRelCoorSoft2D(this->calculateLinePosition(0),10);
 
@@ -478,5 +476,5 @@
 
   glTexCoord2f(1, 0);
-  glVertex2f(GraphicsEngine::getInstance()->getResolutionX() - this->getAbsCoor2D().x, this->getAbsCoor2D().y  );
+  glVertex2f(1 - this->getAbsCoor2D().x, this->getAbsCoor2D().y  );
 
   glTexCoord2f(0, 1);
@@ -484,5 +482,5 @@
 
   glTexCoord2f(1, 1);
-  glVertex2f(GraphicsEngine::getInstance()->getResolutionX() - this->getAbsCoor2D().x, this->getAbsCoor2D().y + this->shellHeight);
+  glVertex2f(1 - this->getAbsCoor2D().x, this->getAbsCoor2D().y + this->shellHeight);
 
   glEnd();
Index: /branches/2d-recalc/src/lib/shell/shell.h
===================================================================
--- /branches/2d-recalc/src/lib/shell/shell.h	(revision 5379)
+++ /branches/2d-recalc/src/lib/shell/shell.h	(revision 5380)
@@ -92,7 +92,7 @@
     // GENERAL
     bool                     bActive;                //!< If the shell is active.
-    unsigned int             shellHeight;            //!< The hight of the Shell in Pixels.
-    unsigned int             lineSpacing;            //!< The Spacing between lines.
-    unsigned int             textSize;               //!< The size of the text.
+    float                    shellHeight;            //!< The hight of the Shell in Pixels.
+    float                    lineSpacing;            //!< The Spacing between lines.
+    float                    textSize;               //!< The size of the text.
     float                    textColor[4];           //!< The text's color [r,g,b,a].
     char*                    fontFile;               //!< The file containing the font.
