//---------------------------------------------------------------------------- void QuadraticFreeForm2D::OnDisplay () { ClearScreen(); int dim0 = mTexture->GetDimension(0, 0); int dim1 = mTexture->GetDimension(1, 0); unsigned char* data = (unsigned char*)mTexture->GetData(0); const int numSamples = 2*mSize; const float invNumSamples = 1.0f/(float)numSamples; Vector2f param; for (int s = 0; s < numSamples; ++s) { int u = s*dim0/numSamples; param.X() = invNumSamples*s; for (int t = 0; t < numSamples; ++t) { int v = t*dim1/numSamples; param.Y() = invNumSamples*t; Vector2f result = Evaluate(param); int x = ControlToScreen(result.X()); int y = ControlToScreen(result.Y()); int index = 4*(u + dim0*v); unsigned char b = data[index++]; unsigned char g = data[index++]; unsigned char r = data[index++]; ++index; SetPixel(x, y, ColorRGB(r, g, b)); } } // Draw the control points. ColorRGB green(0, 255, 0); for (int row = 0; row <= 2; ++row) { for (int col = 0; col <= 2; ++col) { SetThickPixel(mCtrlX[row][col], mCtrlY[row][col], 2, green); } } WindowApplication2::OnDisplay(); }
void cUIMenuSubMenu::ShowSubMenu() { mSubMenu->Parent( Parent()->Parent() ); eeVector2i Pos = this->Pos(); ControlToScreen( Pos ); Pos.x += mSize.Width() + reinterpret_cast<cUIMenu*> ( Parent() )->Padding().Right; cUIMenu::FixMenuPos( Pos, mSubMenu, reinterpret_cast<cUIMenu*> ( Parent() ), this ); mSubMenu->Parent()->WorldToControl( Pos ); mSubMenu->Pos( Pos ); if ( !mSubMenu->Visible() ) { mSubMenu->Show(); } }