/***********************************
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");
}
Пример #3
0
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());
}
Пример #4
0
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");
}
Пример #7
0
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));
    }
}
Пример #9
0
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));
    }
}
Пример #11
0
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();
}
Пример #12
0
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;
}
Пример #13
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;
}
Пример #14
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!" );

}
Пример #15
0
    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);
    };
Пример #16
0
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;
}