void CBaseControl::SetFrame(const sf::FloatRect & frame) { if (frame != m_frame) { m_frame = frame; OnFrameChanged(m_frame); } }
void VisualToolBase::OnSeek(int new_frame) { if (frame_number == new_frame) return; frame_number = new_frame; OnFrameChanged(); AssDialogue *new_line = GetActiveDialogueLine(); if (new_line != active_line) { dragging = false; active_line = new_line; OnLineChanged(); } }
OpenWarSurface::OpenWarSurface(glm::vec2 size, float pixelDensity) : Surface(size, pixelDensity), _buttonRendering(nullptr), _editorModel(nullptr), _editorGesture(nullptr), _buttonsTopLeft(nullptr), _buttonsTopRight(nullptr), _buttonGesture(nullptr), _buttonItemHand(nullptr), _buttonItemPaint(nullptr), _buttonItemErase(nullptr), _buttonItemSmear(nullptr), _buttonItemHills(nullptr), _buttonItemTrees(nullptr), _buttonItemWater(nullptr), _buttonItemFords(nullptr), _scriptHintRenderer(nullptr), _battleLayer(nullptr) { _battleLayer = new BattleLayer(); _battleLayer->SetContainer(this); _buttonRendering = new ButtonRendering(renderers::singleton, pixelDensity); _buttonsTopLeft = new ButtonGrid(_buttonRendering, ButtonAlignment::TopLeft); _buttonsTopRight = new ButtonGrid(_buttonRendering, ButtonAlignment::TopRight); _buttonsTopLeft->SetContainer(this); _buttonsTopRight->SetContainer(this); _buttonGesture = new ButtonGesture(this); _buttonGesture->buttonViews.push_back(_buttonsTopLeft); _buttonGesture->buttonViews.push_back(_buttonsTopRight); ButtonArea* toolButtonArea = _buttonsTopLeft->AddButtonArea(4); _buttonItemHand = toolButtonArea->AddButtonItem(_buttonRendering->buttonEditorToolHand); _buttonItemSmear = toolButtonArea->AddButtonItem(_buttonRendering->buttonEditorToolSmear); _buttonItemPaint = toolButtonArea->AddButtonItem(_buttonRendering->buttonEditorToolPaint); _buttonItemErase = toolButtonArea->AddButtonItem(_buttonRendering->buttonEditorToolErase); ButtonArea* featureButtonArea = _buttonsTopLeft->AddButtonArea(4); _buttonItemHills = featureButtonArea->AddButtonItem(_buttonRendering->buttonEditorToolHills); _buttonItemTrees = featureButtonArea->AddButtonItem(_buttonRendering->buttonEditorToolTrees); _buttonItemWater = featureButtonArea->AddButtonItem(_buttonRendering->buttonEditorToolWater); _buttonItemFords = featureButtonArea->AddButtonItem(_buttonRendering->buttonEditorToolFords); _buttonItemHand->SetAction([this]() { SetEditorMode(EditorMode::Hand); }); _buttonItemPaint->SetAction([this]() { SetEditorMode(EditorMode::Paint); }); _buttonItemErase->SetAction([this]() { SetEditorMode(EditorMode::Erase); }); _buttonItemSmear->SetAction([this]() { SetEditorMode(EditorMode::Smear); }); _buttonItemHills->SetAction([this]() { SetEditorFeature(TerrainFeature::Hills); }); _buttonItemTrees->SetAction([this]() { SetEditorFeature(TerrainFeature::Trees); }); _buttonItemWater->SetAction([this]() { SetEditorFeature(TerrainFeature::Water); }); _buttonItemFords->SetAction([this]() { SetEditorFeature(TerrainFeature::Fords); }); _buttonItemHand->SetKeyboardShortcut('1'); _buttonItemSmear->SetKeyboardShortcut('2'); _buttonItemPaint->SetKeyboardShortcut('3'); _buttonItemErase->SetKeyboardShortcut('4'); _buttonItemHills->SetKeyboardShortcut('5'); _buttonItemTrees->SetKeyboardShortcut('6'); _buttonItemWater->SetKeyboardShortcut('7'); _buttonItemFords->SetKeyboardShortcut('8'); OnFrameChanged(); UpdateButtonsAndGestures(); _scriptHintRenderer = new GradientLineShape3(GetGraphicsContext()); }