int16 SlideScene::AddSlide( const tstring & file, float32 active_time, const Color & fade_in_start_color, const Color & fade_in_end_color, float32 fade_in_time, const Color & fade_out_start_color, const Color & fade_out_end_color, float32 fade_out_time ) { int16 id = AddSlide( file, active_time, fade_in_start_color, fade_in_end_color, fade_in_time ); if(fade_out_time > 0) { float32 begin = m_TotalTime - fade_out_time; GetStopwatch()->CreateTimer( m_Slides[id] + _T("_fade_out"), begin, false, false, [&, id, fade_out_time, fade_out_start_color, fade_out_end_color]() { auto slide = m_pSlideMenu->GetChildByName<UIImage>(m_Slides[id]); auto fadeAction = new star::TimedFadeAction( m_Slides[id] + _T("_fade_out"), fade_out_time, fade_out_start_color, fade_out_end_color ); slide->AddAction(fadeAction); }, false ); } else { Logger::GetInstance()->Log(LogLevel::Warning, _T("SlideScene::AddSlide: fade_out_time should be longer then 0 seconds."), STARENGINE_LOG_TAG ); } return id; }
SetZDepth::SetZDepth(Actor *actor, bool bOnCollision) : BaseAction("Set ZDepth", (GameControl::Get()->Width() - WIDTH)/2, (GameControl::Get()->Height() - HEIGHT)/2, WIDTH, HEIGHT) { SetModal(); SetToolTip(TIP_CHANGE_ZDEPTH); eventActor = actionActor = actor; Text *text; Button *button; int y; //Title text = AddText(CHANGE_ZDEPTH, CENTER_TEXT, 5); y = DrawHLine(text->Down() + 2); //Body text = AddText(" Actor: ", 10, y); listActor = AddListPop(text->Right() + 2, text->Top(), 128, 0, LS_ACTOR); listActor->SetToolTip(gedString(TIP_CHANGE_ZDEPTH_ACTOR) + TIP_ACTION_ACTOR); text = AddText(" Z Depth: ", 10, listActor->Down() + 2); slide = AddSlide(text->Right(), text->Top(), 100, 14, SL_TRANS); slide->SetToolTip(TIP_CHANGE_ZDEPTH_AMOUNT); //Close y = DrawHLine(slide->Down() + 2); button = AddButton(Action::getEditAction()?"Ok":"Add", 55, y, 0, 0, BT_ADD); button->SetToolTip(TIP_ACTION_ADD); SetConfirmButton(button); button = AddButton("Cancel", button->Right()+8, y, 0, 0, BT_CLOSE); button->SetToolTip(TIP_ACTION_CANCEL); SetCancelButton(button); GameControl::Get()->PopulateActors(listActor); listActor->AddText(S_EVENT_ACTOR); if(Tutorial::IsCompatible(VERSION_OUT_OF_VISION_OPTIMIZATION)) { listActor->AddText(S_PARENT_ACTOR); listActor->AddText(S_CREATOR_ACTOR); } if(bOnCollision) listActor->AddText(S_COLLIDE_ACTOR); listActor->SetItem(S_EVENT_ACTOR); oriZDepth = actionActor->getImage()->ZDepth(); if(!ExpressionEditor::getExpressionEditor()) UpdateEdition(); }
ColorPicker::ColorPicker(int _r, int _g, int _b) : Panel("DlgColorPicker", (GameControl::Get()->Width() - WIDTH)/2, (GameControl::Get()->Height() - HEIGHT)/2, WIDTH, HEIGHT) { SetModal(); Text *text; Button *button; //Title text = AddText("Color Picker", CENTER_TEXT, 5); int y = DrawHLine(text->Down() + 2); //Body canvas = new ColorCanvas(this); oldColor = new ColorSampleOfPicker(this); newColor = new ColorSampleOfPicker(this); canvas->SetPos(10, y + 2); colorSlide = AddSlide(canvas->Right() + 5, canvas->Top(), 20, 256, SL_COLOR); colorSlide->SetPos(1.0); newColor->SetPos(colorSlide->Right() + 5, colorSlide->Top()); oldColor->SetPos(newColor->Left(), newColor->Down()); text = AddText(" Red: ", oldColor->Left(), oldColor->Down() + 16); rEdit = AddEditBox(text->Right(), text->Top(), 32); rEdit->SetNumeric(0, 255, 1); text = AddText(" Green: ", text->Left(), rEdit->Down() + 2); gEdit = AddEditBox(text->Right(), text->Top(), 32); gEdit->SetNumeric(0, 255, 1); text = AddText(" Blue: ", text->Left(), gEdit->Down() + 2); bEdit = AddEditBox(text->Right(), text->Top(), 32); bEdit->SetNumeric(0, 255, 1); text = AddText(" Hue: ", text->Left(), bEdit->Down() + 16); hEdit = AddEditBox(text->Right(), text->Top(), 32); hEdit->SetNumeric(0, 359, 1); text = AddText("Saturation: ", text->Left(), hEdit->Down() + 2); sEdit = AddEditBox(text->Right(), text->Top(), 32); sEdit->SetNumeric(0, 100, 1); text = AddText("Brightness: ", text->Left(), sEdit->Down() + 2); vEdit = AddEditBox(text->Right(), text->Top(), 32); vEdit->SetNumeric(0, 100, 1); listFix = AddListPop(oldColor->Left(), vEdit->Down() + 16, 104, 0, LS_FIX_COLOR); //Close y = DrawHLine(canvas->Down() + 2); button = AddButton("Ok", (WIDTH-135)/2, y, 0, 0, OK_BUTTON); SetConfirmButton(button); button = AddButton("Cancel", button->Right()+8, y, 0, 0, CANCEL_BUTTON); SetCancelButton(button); listFix->AddText("Red"); listFix->AddText("Green"); listFix->AddText("Blue"); listFix->AddText("Hue"); listFix->AddText("Saturation"); listFix->AddText("Brightness"); listFix->SetText("Red"); fixedColor = FIX_RED; r = _r; g = _g; b = _b; oldColor->SetColor(r, g, b); colorSlide->SetPos(r / 255.0); UpdateSample(r, g, b); UpdateCanvas(r, fixedColor); UpdateSlideColor(r, g, b, fixedColor); }