StagePanel::StagePanel(wxWindow* parent, wxTopLevelWindow* frame, TopPannels* top_pannels) : UIStagePage(parent, frame) , ee::MultiSpritesImpl(GetStageImpl()) , m_sym(new Symbol()) , m_top_pannels(top_pannels) , m_symbols_cfg(this, top_pannels->library->GetUILibrary()) { SetDropTarget(new SpriteDropTarget(GetStageImpl(), top_pannels->library->GetUILibrary())); auto edit_op = std::make_shared<ee::ArrangeSpriteOP<ecomplex::SelectSpritesOP>>( this, GetStageImpl(), this, top_pannels->property, NULL, ee::ArrangeSpriteConfig(), new ArrangeSpriteImpl(this, top_pannels->property)); auto select_op = std::dynamic_pointer_cast<ecomplex::SelectSpritesOP>(edit_op); select_op->SetGuides(&m_guides); select_op->SetOpenSymbolDialogViewlist(top_pannels->viewlist); SetEditOP(edit_op); SetCanvas(std::make_shared<StageCanvas>(this)); int w, h; QueryWindowViewSizeSJ::Instance()->Query(w, h); m_sym->SetWidth(w); m_sym->SetHeight(h); m_toolbar = new ToolbarPanel(top_pannels->toolbar, this); m_toolbar_idx = top_pannels->toolbar->AddToolbar(m_toolbar); InitSubjects(); }
ExplainLine::ExplainLine(ExplainShape *from, ExplainShape *to, double weight) { SetCanvas(from->GetCanvas()); from->AddLine(this, to); MakeLineControlPoints(4); width = (int) log(from->GetAverageCost()); if (width > 10) width = 10; // If we got an average cost of 0, width is probably negative // which will look pretty darn ugly as an arrow width! // This may happen on Greenplum. if (width < 1) width = 1; wxNode *first = GetLineControlPoints()->GetFirst(); wxNode *last = GetLineControlPoints()->GetLast(); *(wxRealPoint *)first->GetData() = from->GetStartPoint(); *(wxRealPoint *)last->GetData() = to->GetEndPoint(from->GetKidno()); wxRealPoint *p1=(wxRealPoint *)first->GetNext()->GetData(); wxRealPoint *p2=(wxRealPoint *)last->GetPrevious()->GetData(); *p1 = from->GetStartPoint(); *p2 = to->GetEndPoint(from->GetKidno()); p1->x -= (p1->x - p2->x)/3. +8; p2->x += (p1->x - p2->x)/3. -8; Initialise(); }
void ribi::maziak::QtMaziakCanvas::OnTimerPressKey() { m_dialog->OnTimerPressKeys(); m_dialog->AnimateFighting(); m_dialog->RespondToCurrentSquare(); SetCanvas(m_dialog->ToTextCanvas(m_view_width,m_view_height)); }
void Task::InitLayout() { auto stage = new ee3::StagePanel(m_parent, m_parent, nullptr); auto canvas = std::make_shared<eterrain3d::StageCanvas>(stage); stage->SetCanvas(canvas); stage->SetEditOP(std::make_shared<ee3::CamControlOP>( stage, stage->GetStageImpl(), canvas->GetCamera(), canvas->GetViewport(), stage->GetSubjectMgr())); }
StagePanel::StagePanel(wxWindow* parent, wxTopLevelWindow* frame, ee::LibraryPanel* library) : ee::EditPanel(parent, frame) , ee::SpritesPanelImpl(GetStageImpl(), library) , ee::ShapesPanelImpl(std::make_shared<SymbolContainer>(m_sym = std::make_shared<Symbol>())) { SetEditOP(std::make_shared<ee::ZoomViewOP>(this, GetStageImpl(), true)); SetCanvas(std::make_shared<StageCanvas>(this)); }
StagePanel::StagePanel(wxWindow* parent, wxTopLevelWindow* frame, wxGLContext* glctx, const ee::SprPtr& edited, const ee::MultiSpritesImpl* bg_sprites, ee::LibraryPanel* library) : ee::EditPanel(parent, frame) , ee::SpritesPanelImpl(GetStageImpl(), library) , ee::ShapesPanelImpl(std::make_shared<SymbolContainer>(std::dynamic_pointer_cast<Symbol>(edited->GetSymbol()))) { SetEditOP(std::make_shared<eshape::EditPolylineOP<eshape::DrawPolygonOP, ee::SelectShapesOP>>( this, GetStageImpl(), this, nullptr, new ee::OneFloatValueStatic(5), nullptr)); SetCanvas(std::make_shared<StageCanvas>(this, glctx, edited, bg_sprites)); m_sym = std::dynamic_pointer_cast<Symbol>(edited->GetSymbol()); }
StagePanel::StagePanel(wxWindow* parent, wxTopLevelWindow* frame, ee::PropertySettingPanel* property, ee::LibraryPanel* library) : ee::EditPanel(parent, frame) , ee::MultiSpritesImpl(GetStageImpl()) , ee::MultiShapesImpl() , m_library(library) , m_grids(NULL) , m_sindex(NULL) , m_pathfinding(NULL) { SetDropTarget(new ee::SpriteDropTarget(GetStageImpl(), library)); if (OPEN_GRIDS) { m_grids = new Grids; SettingCfg* cfg = SettingCfg::Instance(); m_grids->Build(cfg->m_map_width, cfg->m_map_height); } if (TEST_QUADTREE) { m_sindex = new Quadtree(sm::rect(sm::vec2(0, 0), MAP_EDGE_LEN, MAP_EDGE_LEN)); } if (PATHFINDING) { // m_pathfinding = new preview::PathGrid(sm::rect(MAP_EDGE_LEN, MAP_EDGE_LEN), 256, 256); //m_pathfinding = new preview::PathNavMesh(sm::rect(MAP_EDGE_LEN, MAP_EDGE_LEN)); m_pathfinding = new preview::PathVisibleSimple(sm::rect(sm::vec2(0, 0), MAP_EDGE_LEN, MAP_EDGE_LEN)); } ArrangeSpriteImpl* arrange_impl = new ArrangeSpriteImpl(library, property, this, &m_chara_dirs); m_arrange_op = std::make_shared<ee::ArrangeSpriteOP<SelectSpritesOP>>( this, GetStageImpl(), this, property, NULL, ee::ArrangeSpriteConfig(), arrange_impl); SetEditOP(m_arrange_op); SetCanvas(std::make_shared<StageCanvas>(this)); ee::MultiSpritesImpl::RegistSubject(ee::ReorderSpriteSJ::Instance()); ee::MultiSpritesImpl::RegistSubject(ee::ReorderSpriteMostSJ::Instance()); ee::MultiSpritesImpl::RegistSubject(ee::InsertSpriteSJ::Instance()); ee::MultiSpritesImpl::RegistSubject(ee::RemoveSpriteSJ::Instance()); ee::MultiSpritesImpl::RegistSubject(ee::ClearSpriteSJ::Instance()); ee::MultiShapesImpl::RegistSubject(ee::RemoveShapeSJ::Instance()); ee::MultiShapesImpl::RegistSubject(ee::InsertShapeSJ::Instance()); ee::MultiShapesImpl::RegistSubject(ee::ClearShapeSJ::Instance()); }
StagePanel::StagePanel(wxWindow* parent, wxTopLevelWindow* frame, ee::LibraryPanel* library) : ee::EditPanel(parent, frame) , ee::SpritesPanelImpl(GetStageImpl(), library) , m_library(library) , m_is_flat(false) , m_building_cfg(this, library) , m_checkboard(this) { SetCanvas(std::make_shared<StageCanvas>(this)); m_row = m_col = m_edge = 0; m_base_level = 1; RegistSubject(ee::InsertSpriteSJ::Instance()); RegistSubject(ee::RemoveSpriteSJ::Instance()); RegistSubject(ee::ClearSpriteSJ::Instance()); }
StagePanel::StagePanel(wxWindow* parent, wxTopLevelWindow* frame, ee::LibraryPanel* library, ee::PropertySettingPanel* property) : ee::EditPanel(parent, frame) , ee::SpritesPanelImpl(GetStageImpl(), library) { SetCanvas(std::make_shared<StageCanvas>(this)); ee::OneFloatValue* capture_val = new ee::OneFloatValueStatic(10); SetEditOP(std::make_shared<eshape::EditPolylineOP<eshape::DrawPolygonOP, ee::SelectShapesOP>>( this, GetStageImpl(), this, property, capture_val, NULL)); const int HW = 512; const int HH = 512; m_region.xmin = -HW; m_region.xmax = HW; m_region.ymin = -HH; m_region.ymax = HH; m_mesh = new Mesh(m_region); }
void Layer::UpdateLayerCanvas() { // If we have no delegate, that means that whoever constructed the Layer is // setting its canvas directly with SetCanvas(). if(!delegate_ || layer_updated_externally_) { return; } gfx::Rect local_bounds = gfx::Rect(gfx::Point(), bounds_.size()); gfx::Rect draw_rect = invalid_rect_.Intersect(local_bounds); if(draw_rect.IsEmpty()) { invalid_rect_ = gfx::Rect(); return; } scoped_ptr<gfx::Canvas> canvas(gfx::Canvas::CreateCanvas( draw_rect.width(), draw_rect.height(), false)); canvas->TranslateInt(-draw_rect.x(), -draw_rect.y()); delegate_->OnPaintLayer(canvas.get()); SetCanvas(*canvas->AsCanvasSkia(), draw_rect.origin()); }
StagePanel::StagePanel(wxWindow* parent, wxTopLevelWindow* frame, wxGLContext* glctx, TopPannels* top_pannels) : UIStagePage(parent, frame) , ee::SpritesPanelImpl(GetStageImpl(), top_pannels->library->GetRawLibrary()) , m_top_pannels(top_pannels) { SetEditOP(std::make_shared<EditClipboxOP>(this, top_pannels->property)); SetCanvas(std::make_shared<StageCanvas>(this, glctx)); ee::LibraryPanel* library = top_pannels->library->GetRawLibrary(); top_pannels->property->SetEditPanel(GetStageImpl()); m_toolbar = new ToolbarPanel(top_pannels->toolbar); m_toolbar_idx = top_pannels->toolbar->AddToolbar(m_toolbar); m_clipbox.xmin = m_clipbox.ymin = -200; m_clipbox.xmax = m_clipbox.ymax = 200; ee::MODULE_STAGE.impl = this; }
StagePanel::StagePanel(wxWindow* parent, wxTopLevelWindow* frame, ee::PropertySettingPanel* property, LibraryPanel* library) : EditPanel(parent, frame) , ee::SpritesPanelImpl(GetStageImpl()) , m_sym() , m_library(library) { m_sym = std::make_shared<Symbol>(); SetContainer(std::make_shared<SymbolContainer>(m_sym)); SetEditOP(std::make_shared<ee::ArrangeSpriteOP<SelectSpritesOP>>( this, GetStageImpl(), this, property, nullptr, ee::ArrangeSpriteConfig(), new ArrangeSpriteImpl(this, property))); SetCanvas(std::make_shared<StageCanvas>(this, library)); SetDropTarget(new ee::StageDropTarget(this, GetStageImpl(), library)); ee::MODULE_STAGE.impl = this; RegistSubject(ee::ClearSpriteSJ::Instance()); }
StagePanel::StagePanel(wxWindow* parent, wxTopLevelWindow* frame, const std::shared_ptr<Symbol>& sym, ee::PropertySettingPanel* property, LibraryPanel* library, wxGLContext* glctx, ee::CrossGuides* guides) : EditPanel(parent, frame) , m_sym(sym) , ee::SpritesPanelImpl(GetStageImpl()) , m_library(library) { SetContainer(std::make_shared<SymbolContainer>(m_sym)); auto editop = std::make_shared<ee::ArrangeSpriteOP<SelectSpritesOP>>( this, GetStageImpl(), this, property, nullptr, ee::ArrangeSpriteConfig(), new ArrangeSpriteImpl(this, property)); std::dynamic_pointer_cast<SelectSpritesOP>(editop)->SetGuides(guides); SetEditOP(editop); SetCanvas(std::make_shared<StageCanvas>(this, library, glctx)); SetDropTarget(new ee::StageDropTarget(this, GetStageImpl(), library)); RegistSubject(ee::ClearSpriteSJ::Instance()); }
void ribi::maziak::QtMaziakCanvas::OnTimerStartShowingSolution() { m_timer_show_solution->start(); SetCanvas(m_dialog->ToTextCanvas(m_view_width,m_view_height)); }
void ribi::maziak::QtMaziakCanvas::OnTimerEnemy() { m_dialog->AnimateFighting(); m_dialog->AnimateEnemiesAndPrisoners(m_view_width,m_view_height); SetCanvas(m_dialog->ToTextCanvas(m_view_width,m_view_height)); }
void ribi::QtDasWahreSchlagerfestCanvas::OnChanged() { SetCanvas(m_widget->ToTextCanvas()); }