예제 #1
0
int rangeCheck (Tree_node * tree, int low, int high)
{
  if (tree==NULL)
    {
      return 1;
    }
  else if (tree->data < low || tree->data >= high)
    {
      return 0;
    }
  else
    {
      return (rangeCheck (tree->left, low, tree->data) && rangeCheck (tree->right, tree->data, high));  
    }
}
예제 #2
0
void PreviewLabel::mousePressEvent(QMouseEvent * event)
{
    if (!m_borderImage)
        return QLabel::mouseMoveEvent(event);

    bool bottom = false;

    if (event->button() == Qt::LeftButton) {
        if (QApplication::overrideCursor())
            QApplication::restoreOverrideCursor();
        if (rangeCheck(m_left * m_zoom, event->pos().x())) {
            QApplication::setOverrideCursor(QCursor(Qt::SizeHorCursor));
            m_dragging_left = true;
            event->accept();
            m_hooverInfo->setText("Left " + QString::number(m_left));
            m_hooverInfo->show();
        } else if (rangeCheck(m_top * m_zoom, event->pos().y())) {
            QApplication::setOverrideCursor(QCursor(Qt::SizeVerCursor));
            m_dragging_top = true;
            event->accept();
            m_hooverInfo->setText("Top " + QString::number(m_top));
            m_hooverInfo->show();
        } else if (rangeCheck(m_right * m_zoom, width() - event->pos().x())) {
            QApplication::setOverrideCursor(QCursor(Qt::SizeHorCursor));
            m_dragging_right = true;
            event->accept();
            m_hooverInfo->setText("Right " + QString::number(m_right));
            m_hooverInfo->show();
        } else if (rangeCheck(m_bottom * m_zoom, height() - event->pos().y())) {
            QApplication::setOverrideCursor(QCursor(Qt::SizeVerCursor));
            m_dragging_bottom = true;
            event->accept();
            m_hooverInfo->setText("Bottom " + QString::number(m_bottom));
            m_hooverInfo->show();
            bottom = true;
        } else {
            QLabel::mousePressEvent(event);
        }
        m_startPos = event->pos();
        if (bottom)
            m_hooverInfo->move(mapToParent(m_startPos) + QPoint(0, -10));
        else
            m_hooverInfo->move(mapToParent(m_startPos) + QPoint(0, 40));
        m_hooverInfo->resize(m_hooverInfo->sizeHint());
        m_hooverInfo->raise();
    }
}
예제 #3
0
int BSTcheckB (Tree_node * tree){
  
  if (rangeCheck (tree, -2147483647, 2147483647))
    {
      printf ("Valid tree detected recursively\n");
      return 1;
    } 
  else
    {
      printf ("Invalid tree detected recursively\n");
      return -1;
    }
}
예제 #4
0
파일: hm-stubs.cpp 프로젝트: AdiKo/avmplus
void Stubs::do_si32(MethodFrame* f, int32_t value, int32_t addr) {
  avmplus::mop_si32(rangeCheck(f, addr, 4), value);
}
예제 #5
0
파일: hm-stubs.cpp 프로젝트: AdiKo/avmplus
int32_t Stubs::do_li32(MethodFrame* f, int32_t addr) {
  return avmplus::mop_li32(rangeCheck(f, addr, 4));
}
예제 #6
0
파일: hm-stubs.cpp 프로젝트: AdiKo/avmplus
int32_t Stubs::do_li16(MethodFrame* f, int32_t addr) {
  return avmplus::mop_liz16(rangeCheck(f, addr, 2));
}
예제 #7
0
파일: hm-stubs.cpp 프로젝트: AdiKo/avmplus
void Stubs::do_si32(MethodFrame* f, int32_t value, int32_t addr) {
  *((int32_t*)rangeCheck(f, addr, 4)) = value;
}
예제 #8
0
파일: Quad.hpp 프로젝트: yuang1516/dodge
//===========================================
// Quad::setVertex
//===========================================
inline void Quad::setVertex(int idx, const Vec2f& vert) {
   rangeCheck(idx);
   Polygon::setVertex(idx, vert);
}
예제 #9
0
파일: hm-stubs.cpp 프로젝트: AdiKo/avmplus
double Stubs::do_lf64(MethodFrame* f, int32_t addr) {
  return avmplus::mop_lf64(rangeCheck(f, addr, 8));
}
예제 #10
0
파일: hm-stubs.cpp 프로젝트: AdiKo/avmplus
void Stubs::do_sf32(MethodFrame* f, double value, int32_t addr) {
  *((float*) rangeCheck(f, addr, 4)) = float(value);
}
예제 #11
0
파일: hm-stubs.cpp 프로젝트: AdiKo/avmplus
int32_t Stubs::do_li8(MethodFrame* f, int32_t addr) {
  return (int32_t) *((uint8_t*) rangeCheck(f, addr, 1));
}
예제 #12
0
void PreviewLabel::mouseMoveEvent(QMouseEvent * event)
{
    if (!m_borderImage)
        return QLabel::mouseMoveEvent(event);

    QPoint p = event->pos();
    bool bottom = false;
    if (m_dragging_left) {
        m_left = p.x() / m_zoom;
        m_left = limitPositive(m_left);
        event->accept();
        m_hooverInfo->setText("Left " + QString::number(m_left));
        update();
    } else if (m_dragging_top) {
        m_top = p.y() / m_zoom;
        m_top = limitPositive(m_top);
        event->accept();
        m_hooverInfo->setText("Top " + QString::number(m_top));
        update();
    }  else if (m_dragging_right) {
        m_right = (width() - p.x()) / m_zoom;
        m_right = limitPositive(m_right);
        event->accept();
        m_hooverInfo->setText("Right " + QString::number(m_right));
        update();
    } else if (m_dragging_bottom) {
        m_bottom = (height() - p.y()) / m_zoom;
        m_bottom = limitPositive(m_bottom);
        event->accept();
        m_hooverInfo->setText("Bottom " + QString::number(m_bottom));
        bottom = true;
        update();
    } else if (rangeCheck(m_left * m_zoom, p.x())) {
        QApplication::setOverrideCursor(QCursor(Qt::SizeHorCursor));
        event->accept();
        m_hooverInfo->setText("Left " + QString::number(m_left));
        m_hooverInfo->show();
    } else if (rangeCheck(m_top * m_zoom, p.y())) {
        QApplication::setOverrideCursor(QCursor(Qt::SizeVerCursor));
        event->accept();
        m_hooverInfo->setText("Top " + QString::number(m_top));
        m_hooverInfo->show();
    } else if (rangeCheck(m_right * m_zoom, width() - p.x())) {
        QApplication::setOverrideCursor(QCursor(Qt::SizeHorCursor));
        event->accept();
        m_hooverInfo->setText("Right " + QString::number(m_right));
        m_hooverInfo->show();
    } else if (rangeCheck(m_bottom * m_zoom, height() - p.y())) {
        QApplication::setOverrideCursor(QCursor(Qt::SizeVerCursor));
        event->accept();
        m_hooverInfo->setText("Bottom " + QString::number(m_bottom));
        m_hooverInfo->show();
        bottom = true;
    } else {
        if (QApplication::overrideCursor())
            QApplication::restoreOverrideCursor();
        QLabel::mouseMoveEvent(event);
        m_hooverInfo->hide();
    }
    m_startPos = p;
    if (bottom)
        m_hooverInfo->move(mapToParent(p) + QPoint(0, -10));
    else
        m_hooverInfo->move(mapToParent(p) + QPoint(0, 40));
    m_hooverInfo->resize(m_hooverInfo->sizeHint());
    m_hooverInfo->raise();
}
예제 #13
0
파일: Quad.hpp 프로젝트: yuang1516/dodge
//===========================================
// Quad::getVertex
//===========================================
inline const Vec2f& Quad::getVertex(int idx) const {
   rangeCheck(idx);
   return Polygon::getVertex(idx);
}
예제 #14
0
파일: hm-stubs.cpp 프로젝트: AdiKo/avmplus
double Stubs::do_lf32(MethodFrame* f, int32_t addr) {
  return (double) *((float*) rangeCheck(f, addr, 4));
}
예제 #15
0
파일: hm-stubs.cpp 프로젝트: AdiKo/avmplus
int32_t Stubs::do_li16(MethodFrame* f, int32_t addr) {
  return (int32_t) *((uint16_t*) rangeCheck(f, addr, 2));
}
예제 #16
0
파일: hm-stubs.cpp 프로젝트: AdiKo/avmplus
double Stubs::do_lf64(MethodFrame* f, int32_t addr) {
  return *((double*) rangeCheck(f, addr, 8));
}
예제 #17
0
파일: hm-stubs.cpp 프로젝트: AdiKo/avmplus
int32_t Stubs::do_li32(MethodFrame* f, int32_t addr) {
  return *((int32_t*) rangeCheck(f, addr, 4));
}
예제 #18
0
파일: hm-stubs.cpp 프로젝트: AdiKo/avmplus
void Stubs::do_sf64(MethodFrame* f, double value, int32_t addr) {
  *((double*) rangeCheck(f, addr, 8)) = value;
}
예제 #19
0
파일: hm-stubs.cpp 프로젝트: AdiKo/avmplus
void Stubs::do_si16(MethodFrame* f, int32_t value, int32_t addr) {
  *((uint16_t*)rangeCheck(f, addr, 2)) = uint16_t(value);
}
예제 #20
0
파일: hm-stubs.cpp 프로젝트: AdiKo/avmplus
void Stubs::do_sf64(MethodFrame* f, double value, int32_t addr) {
  avmplus::mop_sf64(rangeCheck(f, addr, 8), value);
}
예제 #21
0
파일: Quad.hpp 프로젝트: yuang1516/dodge
//===========================================
// Quad::setVertex
//===========================================
inline void Quad::setVertex(int idx, float32_t x, float32_t y) {
   rangeCheck(idx);
   Polygon::setVertex(idx, x, y);
}