const BAffineTransform& BAffineTransform::ShearBy(const BPoint& center, double x, double y) { TranslateBy(-center.x, -center.y); ShearBy(x, y); return TranslateBy(center.x, center.y); }
const BAffineTransform& BAffineTransform::RotateBy(const BPoint& center, double angle) { TranslateBy(-center.x, -center.y); RotateBy(angle); return TranslateBy(center.x, center.y); }
bool GO_Background::Initialize( ComPtr<ID3D11Device> const device, const std::shared_ptr<ShaderManager> shaderManager, const std::shared_ptr<MaterialFactory> matFactory) { GameObject::Initialize(device, shaderManager, matFactory); Model::ModelType bgDesc; bgDesc.materialFilename = BG_MATERIAL; bgDesc.modelFilename = BG_MODEL; if (!model.Initialize( bgDesc, device, shaderManager->getDefaultShader()->getShaderBCode(), shaderManager->getPlainTextureShader()->getByteCodeLength(), matFactory)) { return false; } TranslateBy(0.0f, 0.0f, -8.0f); ScaleBy(0.6f); return true; }
// NudgeBy void TransformBox::NudgeBy(BPoint offset) { if (!fNudging && !fCurrentCommand) { fCurrentCommand = MakeCommand("Move", 0/*MOVE*/); fNudging = true; } if (fNudging) { TranslateBy(offset); } }
// HandleKeyDown bool TransformBox::HandleKeyDown(uint32 key, uint32 modifiers, Command** _command) { bool handled = true; BPoint translation(B_ORIGIN); float offset = 1.0; if (modifiers & B_SHIFT_KEY) offset /= ZoomLevel(); switch (key) { case B_UP_ARROW: translation.y = -offset; break; case B_DOWN_ARROW: translation.y = offset; break; case B_LEFT_ARROW: translation.x = -offset; break; case B_RIGHT_ARROW: translation.x = offset; break; default: handled = false; break; } if (!handled) return false; if (!fCurrentCommand) { fCurrentCommand = MakeCommand("Translate", -1); } TranslateBy(translation); return true; }
void Glut2DView::ExecCommand(Command &command) { switch (command.GetId()) { case TRANSLATE_COMMAND: { TranslateBy(((TranslateCommand*)(&command))->trans.x, ((TranslateCommand*)(&command))->trans.y); RedisplayCommand redisplay; GlutView::ExecCommand(redisplay); } break; case ZOOM_COMMAND: { ZoomBy(((ZoomCommand*) &command)->zoom.x, ((ZoomCommand*) &command)->zoom.y); RedisplayCommand redisplay; GlutView::ExecCommand(redisplay); } break; case ZOOM_X_COMMAND: { ZoomBy(((ZoomCommand*) &command)->zoom.x, 1.0); RedisplayCommand redisplay; GlutView::ExecCommand(redisplay); } break; case ZOOM_Y_COMMAND: { ZoomBy(1.0, ((ZoomCommand*) &command)->zoom.y); RedisplayCommand redisplay; GlutView::ExecCommand(redisplay); } break; case FOCUS_COMMAND: { FocusCommand* cmd = (FocusCommand*) &command; Vertex2d focus = WindowToWorld(cmd->focus.x, cmd->focus.y); SetFocus(focus.x, focus.y); } break; default: GlutView::ExecCommand(command); } }
const BAffineTransform& BAffineTransform::TranslateBy(const BPoint& delta) { return TranslateBy(delta.x, delta.y); }
void PhysBody::Update() { if (m_Velocity != Vec2(0.0, 0.0)) { TranslateBy(m_Velocity); } }
void Draw(BRect invalidate) { RotateBy(-M_PI / 5); TranslateBy(0, Bounds().Height() / 3); BStringView::Draw(invalidate); }