Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 8633 in orxonox.OLD


Ignore:
Timestamp:
Jun 20, 2006, 3:27:17 PM (18 years ago)
Author:
bensch
Message:

getting position test

Location:
branches/gui/src/lib/gui/gl
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/gui/src/lib/gui/gl/glgui_table.cc

    r8631 r8633  
    1818#include "glgui_table.h"
    1919#include "debug.h"
     20
     21#include "glgui_handler.h"
    2022
    2123namespace OrxGui
     
    154156
    155157
    156 
    157158  /**
    158159   * @brief Processes an Event.
     
    162163  bool GLGuiTable::processEvent(const Event& event)
    163164  {
     165    if (event.type == EV_MOUSE_MOTION)
     166    {
     167      unsigned int row, column;
     168      this->pixelPositionToElement((OrxGui::GLGuiHandler::getInstance()->cursorPositionRel(this)), &row, &column);
     169      return true;
     170    }
     171
    164172    return false;
    165173  }
     
    253261
    254262    glEnd();
    255     //     this->frontMaterial().select();
    256     //     GLGuiWidget::drawRect(this->frontRect());
    257263
    258264    this->endDraw();
     265  }
     266
     267
     268  void GLGuiTable::pixelPositionToElement(const Vector2D& pixelPosition, unsigned int* row, unsigned int* column)
     269  {
     270    *row = 0;
     271    *column = 0;
     272    float columnPos = 0.0f;
     273    float rowPos = 0.0f;
     274
     275    for (*row = 0; *row < this->rowCount(); *row++)
     276    {
     277      if (pixelPosition.x > rowPos  && pixelPosition.x  < (rowPos += _rowHeights[*row]))
     278        break;
     279    }
     280    for (*column = 0; *column < this->columnCount(); *column++)
     281    {
     282      if (pixelPosition.y > columnPos && pixelPosition.y  < (columnPos += _columnWidths[*column]))
     283        break;
     284    }
     285
     286    printf("%d %d\n", *row, *column);
    259287  }
    260288
  • branches/gui/src/lib/gui/gl/glgui_table.h

    r8631 r8633  
    6262    void init();
    6363
     64    void pixelPositionToElement(const Vector2D& pixelPosition, unsigned int* row, unsigned int* column);
    6465    void repositionText(unsigned int fromLeft, unsigned int fromTop);
    6566    void applyTextSettings(unsigned int row, unsigned int column, LimitedWidthText* text);
Note: See TracChangeset for help on using the changeset viewer.