/*********************************** TabMenu Constructor Author: Jamie Gault ***********************************/ TabMenu::TabMenu(WinData *wd): m_isOpen(false), m_action(TMA_NONE), m_windata(wd) { m_pos_y = DATA("TAB_MENU_POSY") - DATA("TAB_OPEN_HT"); m_pause_but = Answer(pText_man, std::string("Pause Game"), DATA("TAB_PBUT_POSX"), DATA("TAB_MENU_POSY")+DATA("TAB_BUT_OFFSETY"), 500.0f ); m_discuss_but = Answer(pText_man, std::string("Discuss"), DATA("TAB_DISCBUT_POSX"), DATA("TAB_MENU_POSY")+DATA("TAB_BUT_OFFSETY"), 500.0f ); //set the string so the box is the right width std::string rndcnt; if( m_windata->rule == BOTH_LIMIT || m_windata->rule == ROUND_LIMIT) rndcnt = std::string("Round 1 out of 10"); else rndcnt = std::string("Round 1"); m_rndDisplay = TextBox(pText_man, rndcnt, DATA("TAB_RNDCNT_POSX"), DATA("TAB_MENU_POSY")+DATA("TAB_BUT_OFFSETY"), 700.0f); SetTurnText(); //setup max score std::stringstream score; score<< "Goal Score is " << m_windata->goal_score << "."; m_scrMax = TextBox(pText_man, score.str(), DATA("TAB_SCRMAX_POSX"), DATA("TAB_MENU_POSY")+DATA("TAB_BUT_OFFSETY"), 500.0f); m_folder = Box_2D(BT_SQUARE, 0.0f, m_pos_y, 1026.0f, 128.0f); m_folder.SetBackGround( pTexture_man->GetTexture("TAB_MENU")); m_tab = Box_2D(BT_LINES, 0.0f, m_pos_y, 250.0f, 68.0f); }
NavigationWindow::NavigationWindow() { //isActive = true; selfIdentity = NAVIGATION; nextIdentity = selfIdentity; scrollTop = 0; scrollBottom = 7; scrollSupplement = 0; rectangleDimensions.x = 470; rectangleDimensions.y = 10; rectangleDimensions.w = 465; rectangleDimensions.h = 45; rectangleCoordinates.x = 530; rectangleCoordinates.y = 165; choiceType[1] = TextBox("NorthWest"); choiceType[2] = TextBox("North"); choiceType[3] = TextBox("NorthEast"); choiceType[4] = TextBox("East"); choiceType[5] = TextBox("SouthEast"); choiceType[6] = TextBox("South"); choiceType[7] = TextBox("SouthWest"); choiceType[8] = TextBox("West"); }
void RoyalSocietyApp::helpMenu() { Font menu_font = Font("Arial",32); string menu = "Help Menu\n\n Keys: \n"; TextBox tbox = TextBox().alignment( TextBox::CENTER ).font(menu_font).size( Vec2i( 512, 511) ).text( menu ); tbox.setColor( Color( 1.0f, 1.0f, 1.0f ) ); tbox.setBackgroundColor( ColorA( 0.5, 0, 0, 1 ) ); gl::draw(tbox.render()); }
void cUISelectButton::OnStateChange() { if ( mSkinState->GetState() != cUISkinState::StateSelected && Selected() ) { if ( mSkinState->StateExists( cUISkinState::StateSelected ) ) { SetSkinState( cUISkinState::StateSelected ); } } if ( Parent()->Type() & UI_TYPE_WINMENU ) { cUIWinMenu * Menu = reinterpret_cast<cUIWinMenu*> ( Parent() ); if ( mSkinState->GetState() == cUISkinState::StateSelected ) { TextBox()->Color( Menu->FontSelectedColor() ); } else if ( mSkinState->GetState() == cUISkinState::StateMouseEnter ) { TextBox()->Color( Menu->FontOverColor() ); } else { TextBox()->Color( Menu->FontColor() ); } } }
void NavigationWindow::getCoordinates(Location worldMap[][5]) { for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { if (worldMap[i][j].isIsActive() == true) { currentX = i; currentY = j; choiceType[0] = TextBox("Explore " + worldMap[i][j].getName()); if (currentX == 0) { bounded[WEST] = true; } else { bounded[WEST] = false; } if (currentX == 4) { bounded[EAST] = true; } else { bounded[EAST] = false; } if (currentY == 0) { bounded[NORTH] = true; } else { bounded[NORTH] = false; } if (currentY == 4) { bounded[SOUTH] = true; } else { bounded[SOUTH] = false; } } } } setList(); }
GoBackWindow::GoBackWindow() { //isActive = true; isDone = false; selfIdentity = GO_BACK; nextIdentity = selfIdentity; rectangleDimensions.x = 470; rectangleDimensions.y = 10; rectangleDimensions.w = 465; rectangleDimensions.h = 45; rectangleCoordinates.x = 530; rectangleCoordinates.y = 165; choices[0] = TextBox("Edit name"); choices[1] = TextBox("Edit S.P.E.C.I.A.L."); choices[2] = TextBox("Edit tag skills"); choices[3] = TextBox("Begin your adventure"); }
void Controller::setup(Vec2f pos, Vec2f size) { gotNewValue = true; controllerIsActive = false; mPos = pos; mSize = size; mBounding = Rectf(mPos,mPos+mSize); mFont.getNames(); mFont = Font( "Helvetica", 14 ); mTextBox = TextBox().color(Color(0,0,0)).font(mFont).size( Vec2i( 200, TextBox::GROW ) ); initilize(); }
void StorageWindow::setInventories(vector<Item*> player, Container theContainer) { scholarItemList.clear(); containerItemList.clear(); scholarsInventory = player; containerInventory = theContainer.getContainerItems(); listNames[SCHOLAR] = TextBox("ITEMS"); listNames[CONTAINER] = TextBox(theContainer.getContainerName()); for (int i = 0; i < scholarsInventory.size(); i++) { scholarItemList.push_back(TextBox(scholarsInventory[i]->getItemName(), 24)); } for (int i = 0; i < containerInventory.size(); i++) { containerItemList.push_back(TextBox(containerInventory[i]->getItemName(), 24)); } }
int FH2LocalClient::Main(void) { const Settings & conf = Settings::Get(); std::string err; if(ConnectionChat()) { if(conf.GameType(Game::TYPE_STANDARD)) { if(ScenarioInfoDialog()) { Cursor & cursor = Cursor::Get(); Display & display = Display::Get(); cursor.Hide(); display.Fill(0, 0, 0); TextBox(_("Please wait..."), Font::BIG, Rect(0, display.h()/2, display.w(), display.h()/2)); display.Flip(); /* if(Game::IO::LoadBIN(packet)) { conf.SetMyColor(Color::Get(player_color)); cursor.Hide(); return true; } */ // StartGame(); err = "under construction"; } else err = "close scenario dialog"; } else if(conf.GameType(Game::TYPE_BATTLEONLY)) { if(Prepare4BattleOnly()) { GetLoadMaps(false, false); Game::StartBattleOnly(); } } else err = "unknown game type"; } Logout(err); return 1; }
void StorageWindow::setInventories(IntelligentEntity player, Container theContainer) { scholarItemList.clear(); containerItemList.clear(); weightRatio = TextBox("Wg: " + toString(player.actualTotalWeight) + "/" + toString(player.getCarryWeight()), 24); scholarsInventory = player.getInventory(); containerInventory = theContainer.getContainerItems(); listNames[SCHOLAR] = TextBox(player.getName()); listNames[CONTAINER] = TextBox(theContainer.getContainerName()); for (int i = 0; i < scholarsInventory.size(); i++) { scholarItemList.push_back(TextBox(scholarsInventory[i]->getItemName(), 24)); } for (int i = 0; i < containerInventory.size(); i++) { containerItemList.push_back(TextBox(containerInventory[i]->getItemName(), 24)); } }
void Monitor::draw() { gl::enableAlphaBlending(); gl::color( mColorBack ); gl::drawSolidRect( mArea ); gl::color( mColorFrame ); gl::drawStrokedRect( mArea ); // draw header text TextBox label = TextBox().alignment( TextBox::CENTER ).font( mFont ).size( Vec2i( mArea.getWidth(), TextBox::GROW ) ).text( mName ); label.setColor( mColorTitle ); Surface surfaceLabel = label.render(); gl::draw( surfaceLabel, mArea.getUL()); // draw header line Vec2i posHeader1 = mArea.getUL(); posHeader1.y += surfaceLabel.getHeight(); Vec2i posHeader2 = posHeader1; posHeader1.x += mArea.getWidth(); gl::drawLine( posHeader1, posHeader2 ); int heightAll = posHeader1.y; for( std::vector< shared_ptr< Section > >::iterator p = mSections.begin(); p != mSections.end(); ++p ) { int heightAct = (*p)->getHeight( mArea.getWidth()); int heightMax = mArea.y2 - heightAll; Vec2i pos = Vec2i( mArea.getX1(), heightAll ); (*p)->draw( pos, mArea.getWidth(), heightMax ); heightAll += heightAct; if( mArea.y2 < heightAll ) break; } // draw header line Vec2i posResize1 = mArea.getLR(); posResize1 -= 2; Vec2i posResize2 = posResize1; posResize2.y -= 5; Vec2i posResize3 = posResize1; posResize3.x -= 5; gl::drawLine( posResize1, posResize2 ); gl::drawLine( posResize1, posResize3 ); gl::disableAlphaBlending(); }
int NinmanMenu::MainMenu() { int y = 220; while (true) { readkey(); if (key[KEY_ESC]) return 0; if (key[KEY_DOWN]) { y = y + 55; if (y > 440) y = 220; } if (key[KEY_UP]) { y = y - 55; if (y < 220) y = 440; } if (key[KEY_ENTER]) { if (y == 220) { std::string player; while (player == "") player = TextBox(); if (player != "-1") NinmanGame(player.c_str()); } if (y == 275) { Score(); y = 220; } if (y == 330) { OptionMenu(); y = 220; } if (y == 385) { About(); y = 220; } if (y == 440) break; clear_keybuf(); } DrawMenu(y); } return 0; }
int main(int argc, char* argv[]) { printf("hello world\n"); X11_data xd = initialise_x11(1000, 100); printf("hello world\n"); TextBox tb = TextBox(xd, 12, 12, "HEllo world!", "9*15"); tb.setId("textbox1"); addGraphicItem(tb); //TODO: Create a reference system that will allow events to be passed to and from //using a really easy function like OGetNextEvent(xd, [XEventMask]) while((getNextEvent(xd, StructureNotifyMask | KeyPressMask)) != NULL) { //printf("test\n"); tb.Draw(false); //At this point I have realised that there are critical failures in the //underlying infastructure that this software will eventually rely on //a render pipeline and a stack of discriptive objects which is passed into a //rendering function. } return 0; }
// ----------------------------------------------------------------------------- void Dialog( cmg_Coord x1, cmg_Coord y1, cmg_Coord x2, cmg_Coord y2, cmg_char *strTitle ) { CMG_SetROPMode( ROPMODE_COPY ); // dialog window CMG_SetDrawStyle( DRAWSTYLE_BOTH ); CMG_SetColor( 1 ); CMG_SetFillColor( 0 ); CMG_Rectangle( x1, y1 + 7, x2, y2 ); // titlebar CMG_SetDrawStyle( DRAWSTYLE_FILL ); CMG_SetFillColor( 1 ); CMG_RoundedRectangle( x1, y1, x2, y1 + 14, 6 ); // title text CMG_SetROPMode( ROPMODE_XOR ); CMG_TEXT_Render( x1 + 10, y1 + 3, strTitle ); CMG_SetROPMode( ROPMODE_COPY ); // close Button CMG_SetFillColor( 0 ); CMG_Circle( x2 - 7, y1 + 7, 5 ); CMG_Line( x2 - 9, y1 + 5, x2 - 5, y1 + 9 ); CMG_Line( x2 - 5, y1 + 5, x2 - 9, y1 + 9 ); // text CMG_TEXT_Render( x1 + 10, y1 + 25, "Please enter some text:" ); // textbox TextBox( x1 + 10, y1 + 40, x2 - x1 - 20, "What do you think about this one?" ); // buttons Button( x1 + 10, y2 - 25, 60, "Cool" ); Button( x2 - 90, y2 - 25, 80, "Awesome!" ); }
TradeWindowGUI(const Rect & rt) : pos_rt(rt), back(rt.x - 5, rt.y + 15, rt.w + 10, 160), tradpost(Settings::Get().EvilInterface() ? ICN::TRADPOSE : ICN::TRADPOST) { back.Save(); buttonTrade.SetPos(pos_rt.x + (pos_rt.w - AGG::GetICN(tradpost, 17).w()) / 2, pos_rt.y + 150); buttonLeft.SetPos(pos_rt.x + 11, pos_rt.y + 129); buttonRight.SetPos(pos_rt.x + 220, pos_rt.y + 129); buttonTrade.SetSprite(tradpost, 15, 16); buttonLeft.SetSprite(tradpost, 3, 4); buttonRight.SetSprite(tradpost, 5, 6); splitter.SetSprite(AGG::GetICN(tradpost, 2)); splitter.SetArea(Rect(pos_rt.x + (pos_rt.w - AGG::GetICN(tradpost, 1).w()) / 2 + 22, pos_rt.y + 132, 188, 10)); splitter.Hide(); splitter.SetOrientation(Splitter::HORIZONTAL); TextBox(_("Please inspect our fine wares. If you feel like offering a trade, click on the items you wish to trade with and for."), Font::BIG, Rect(pos_rt.x, pos_rt.y + 30, pos_rt.w, 100)); textSell.SetFont(Font::SMALL); textBuy.SetFont(Font::SMALL); };
void TradeWindowGUI::ShowTradeArea(u8 resourceFrom, u8 resourceTo, u32 max_buy, u32 max_sell, u32 count_buy, u32 count_sell, bool fromTradingPost) { Cursor &cursor = Cursor::Get(); Display &display = Display::Get(); if(resourceFrom == resourceTo || (Resource::GOLD != resourceTo && 0 == max_buy)) { cursor.Hide(); back.Restore(); Rect dst_rt(pos_rt.x, pos_rt.y + 30, pos_rt.w, 100); TextBox(_("You have received quite a bargain. I expect to make no profit on the deal. Can I interest you in any of my other wares?"), Font::BIG, dst_rt); buttonTrade.SetDisable(true); buttonLeft.SetDisable(true); buttonRight.SetDisable(true); cursor.Show(); display.Flip(); } else { cursor.Hide(); back.Restore(); Point dst_pt; const Sprite & bar = AGG::GetICN(tradpost, 1); dst_pt.x = pos_rt.x + (pos_rt.w - bar.w()) / 2 - 2; dst_pt.y = pos_rt.y + 128; display.Blit(bar, dst_pt); splitter.SetRange(0, (Resource::GOLD == resourceTo ? max_sell : max_buy)); Resource::resource_t rs_from = static_cast<Resource::resource_t>(resourceFrom); Resource::resource_t rs_to = static_cast<Resource::resource_t>(resourceTo); u16 exchange_rate = GetTradeCosts(resourceFrom, resourceTo, fromTradingPost); std::string message; if(Resource::GOLD == resourceTo) { message = _("I can offer you %{count} for 1 unit of %{resfrom}."); String::Replace(message, "%{count}", exchange_rate); String::Replace(message, "%{resfrom}", Resource::String(rs_from)); } else { message = _("I can offer you 1 unit of %{resto} for %{count} units of %{resfrom}."); String::Replace(message, "%{resto}", Resource::String(rs_to)); String::Replace(message, "%{resfrom}", Resource::String(rs_from)); String::Replace(message, "%{count}", exchange_rate); } TextBox(message, Font::BIG, Rect(pos_rt.x, pos_rt.y + 30, pos_rt.w, 100)); const Sprite & sprite_from = AGG::GetICN(ICN::RESOURCE, Resource::GetIndexSprite2(rs_from)); dst_pt.x = pos_rt.x + pos_rt.w / 2 - 70 - sprite_from.w() / 2; dst_pt.y = pos_rt.y + 115 - sprite_from.h(); display.Blit(sprite_from, dst_pt); message.clear(); String::AddInt(message, count_sell); const Sprite & sprite_to = AGG::GetICN(ICN::RESOURCE, Resource::GetIndexSprite2(rs_to)); dst_pt.x = pos_rt.x + pos_rt.w / 2 + 70 - sprite_to.w() / 2; dst_pt.y = pos_rt.y + 115 - sprite_to.h(); display.Blit(sprite_to, dst_pt); message.clear(); String::AddInt(message, count_buy); const Sprite & sprite_fromto = AGG::GetICN(tradpost, 0); dst_pt.x = pos_rt.x + pos_rt.w / 2 - sprite_fromto.w() / 2; dst_pt.y = pos_rt.y + 90; display.Blit(sprite_fromto, dst_pt); Text text(_("Qty to trade"), Font::SMALL); dst_pt.x = pos_rt.x + (pos_rt.w - text.w()) / 2; dst_pt.y = pos_rt.y + 110; text.Blit(dst_pt); buttonTrade.SetDisable(false); buttonLeft.SetDisable(false); buttonRight.SetDisable(false); buttonTrade.Draw(); buttonLeft.Draw(); buttonRight.Draw(); RedrawInfoBuySell(count_sell, count_buy); cursor.Show(); display.Flip(); } }
void EnterTagSkillsWindow::activateWindow(SDL_Surface *screen, IntelligentEntity& theScholar) { //BEGIN TEST CODE nextIdentity = selfIdentity; //END TEST CODE TextBox prompt("Tag 3 Skills:"); TextBox pointsRemaining(toString(tagsRemaining), 72); prompt.setCoordinates(540, 120); pointsRemaining.setCoordinates(1035, 415); prompt.applyTextBox(screen); pointsRemaining.applyTextBox(screen); skillValues[0] = theScholar.tag(theScholar.getBarter(), tagSwitches[0]); skillValues[1] = theScholar.tag(theScholar.getEnergyWeapons(), tagSwitches[1]); skillValues[2] = theScholar.tag(theScholar.getExplosives(), tagSwitches[2]); skillValues[3] = theScholar.tag(theScholar.getGuns(), tagSwitches[3]); skillValues[4] = theScholar.tag(theScholar.getLockpick(), tagSwitches[4]); skillValues[5] = theScholar.tag(theScholar.getMedicine(), tagSwitches[5]); skillValues[6] = theScholar.tag(theScholar.getMeleeWeapons(), tagSwitches[6]); skillValues[7] = theScholar.tag(theScholar.getRepair(), tagSwitches[7]); skillValues[8] = theScholar.tag(theScholar.getScience(), tagSwitches[8]); skillValues[9] = theScholar.tag(theScholar.getSneak(), tagSwitches[9]); skillValues[10] = theScholar.tag(theScholar.getSpeech(), tagSwitches[10]); skillValues[11] = theScholar.tag(theScholar.getSurvival(), tagSwitches[11]); skillValues[12] = theScholar.tag(theScholar.getUnarmed(), tagSwitches[12]); /* Do this when the person is completely done theScholar.setBarter(skillValues[0]); theScholar.setEnergyWeapons(skillValues[1]); theScholar.setExplosives(skillValues[2]); theScholar.setGuns(skillValues[3]); theScholar.setLockpick(skillValues[4]); theScholar.setMedicine(skillValues[5]); theScholar.setMeleeWeapons(skillValues[6]); theScholar.setRepair(skillValues[7]); theScholar.setScience(skillValues[8]); theScholar.setSneak(skillValues[9]); theScholar.setSpeech(skillValues[10]); theScholar.setSurvival(skillValues[11]); theScholar.setUnarmed(skillValues[12]); */ //SDL_BlitSurface(imageWell, &activeRectDimensions, screen, &activeRectCoordinates); for (int i = scrollTop; i < scrollBottom; i++) { Skills[i].applyTextBox(screen, 540, 170, 0, 50, (i - scrollTop)); skillValueGraphics[i] = TextBox(toString(skillValues[i])); skillValueGraphics[i].applyTextBox(screen, 840, 170, 0, 50, (i - scrollTop)); } if (tagCoordinates.size() != 0) { for (int i = 0; i < tagCoordinates.size(); i++) { if (tagCoordinates[i].y >= 170 && tagCoordinates[i].y <= 470) { SDL_BlitSurface(rectangles, &squareDimensions, screen, &tagCoordinates[i]); } } } /* for (int i = 0; i < 7; i++) { SPECIALS[i].applyTextBox(screen, 540, 170, 0, 50, i); SPECIALValueGraphics[i] = TextBox(toString(SPECIALValues[i])); SPECIALValueGraphics[i].applyTextBox(screen, 840, 170, 0, 50, i); } */ SDL_BlitSurface(rectangles, &circleDimensions, screen, &circleCoordinates); //SDL_BlitSurface(rectangles, &rectangleDimensions, screen, &rectangleCoordinates); completed.applyTextBox(screen); //SDL_BlitSurface(rectangles, &completedDimensions, screen, &completedCoordinates); if (isDone == true) { SDL_BlitSurface(rectangles, &completedDimensions, screen, &completedCoordinates); } else { SDL_BlitSurface(rectangles, &rectangleDimensions, screen, &rectangleCoordinates); } /* for (int i = 0; i < 3; i++) { //SDL_BlitSurface(imageWell, &statRectDimensions, screen, &statRectCoordinates[i]); //SDL_BlitSurface(imageWell, &statRectDataTypeDimensions[i], screen, &statRectDataTypeCoordinates[i]); } */ //SDL_BlitSurface(imageWell, &descriptionLineDimensions, screen, &descriptionLineCoordinates); }
void MiscWindow::activateWindow(SDL_Surface *screen, IntelligentEntity& theScholar) { scholarMiscItems.clear(); miscItemNames.clear(); itemValues.clear(); itemWeights.clear(); for (int i = 0; i < theScholar.getInventory().size(); i++) { if (theScholar.getInventory()[i]->getItemType() == "MiscItem") { scholarMiscItems.push_back(dynamic_cast<MiscItem*>(theScholar.getInventory()[i])); } } for (int i = 0; i < scholarMiscItems.size(); i++) { miscItemNames.push_back(TextBox(scholarMiscItems[i]->getItemName())); itemValues.push_back(TextBox(toString(scholarMiscItems[i]->getItemValue()))); itemWeights.push_back(TextBox(toString(scholarMiscItems[i]->getItemWeight()))); } //Blit loop, modify with scroll regulators if (miscItemNames.size() > 6) { for (int i = scrollTop; i < scrollBottom; i++) { miscItemNames[i].applyTextBox(screen, 100, 150, 0, 50, (i - scrollTop)); //theScholarSkills[i].applyTextBox(screen, 400, 150, 0, 50, (i - scrollTop)); } } else if(miscItemNames.size() != 0) { for (int i = 0; i < miscItemNames.size(); i++) { miscItemNames[i].applyTextBox(screen, 100, 150, 0, 50, (i - scrollTop)); //theScholarSkills[i].applyTextBox(screen, 400, 150, 0, 50, (i - scrollTop)); } } SDL_BlitSurface(imageWell, &activeRectDimensions, screen, &activeRectCoordinates); for (int i = 0; i < 2; i++) { SDL_BlitSurface(imageWell, &statRectDimensions, screen, &statRectCoordinates[i]); SDL_BlitSurface(imageWell, &statRectDataTypeDimensions[i], screen, &statRectDataTypeCoordinates[i]); } SDL_BlitSurface(imageWell, &descriptionLineDimensions, screen, &descriptionLineCoordinates); if (miscItemNames.size() != 0) { activeItemInQueue = ((((rectangleCoordinates.y + 4) / 50) - 3) + scrollTop); itemWeights[activeItemInQueue].applyTextBox(screen, 890, 460); itemValues[activeItemInQueue].applyTextBox(screen, 1025, 460); SDL_BlitSurface(rectangles, &rectangleDimensions, screen, &rectangleCoordinates); } }
EnterTagSkillsWindow::EnterTagSkillsWindow() { //isActive = true; isDone = false; selfIdentity = ENTER_TAG_SKILLS; nextIdentity = selfIdentity; for (int i = 0; i < 13; i++) { tagSwitches[i] = false; } tagsRemaining = 3; scrollTop = 0; scrollBottom = 7; activeRectDimensions.x = 240; //240 activeRectDimensions.y = 670; //670 activeRectDimensions.w = 275; //275 activeRectDimensions.h = 45; //45 activeRectCoordinates.x = 268; //268 activeRectCoordinates.y = 566; //566 Skills.push_back(TextBox("Barter")); Skills.push_back(TextBox("Energy Weapons")); Skills.push_back(TextBox("Explosives")); Skills.push_back(TextBox("Guns")); Skills.push_back(TextBox("LockPick")); Skills.push_back(TextBox("Medicine")); Skills.push_back(TextBox("Melee Weapons")); Skills.push_back(TextBox("Repair")); Skills.push_back(TextBox("Science")); Skills.push_back(TextBox("Sneak")); Skills.push_back(TextBox("Speech")); Skills.push_back(TextBox("Survival")); Skills.push_back(TextBox("Unarmed")); completed = TextBox("Continue"); completed.setCoordinates(950, 170); // 1000, 165 rectangleDimensions.x = 470; rectangleDimensions.y = 115; //10 rectangleDimensions.w = 400; //465 rectangleDimensions.h = 45; rectangleCoordinates.x = 530; rectangleCoordinates.y = 165; circleCoordinates.x = 1000; circleCoordinates.y = 400; //150 squareCoordinates.x = 885; //890 completedDimensions.x = 470; completedDimensions.y = 270; completedDimensions.w = 200; completedDimensions.h = 60; completedCoordinates.x = 935; completedCoordinates.y = 155; //DAM box modifications //statRectDataTypeDimensions[2].x = 475; //statRectDataTypeDimensions[2].w = 73; }