static void DrawMenuButtonArea_Network() { //Wyrmgus start /* if (UI.NetworkMenuButton.X != -1) { DrawUIButton(UI.NetworkMenuButton.Style, (ButtonAreaUnderCursor == ButtonAreaMenu && ButtonUnderCursor == ButtonUnderNetworkMenu ? MI_FLAGS_ACTIVE : 0) | (GameMenuButtonClicked ? MI_FLAGS_CLICKED : 0), UI.NetworkMenuButton.X, UI.NetworkMenuButton.Y, UI.NetworkMenuButton.Text); } */ if (UI.MenuButton.X != -1) { DrawUIButton(UI.MenuButton.Style, (ButtonAreaUnderCursor == ButtonAreaMenu && ButtonUnderCursor == ButtonUnderNetworkMenu ? MI_FLAGS_ACTIVE : 0) | (UI.MenuButton.Clicked ? MI_FLAGS_CLICKED : 0), UI.MenuButton.X, UI.MenuButton.Y, UI.MenuButton.Text); } //Wyrmgus end if (UI.NetworkDiplomacyButton.X != -1) { DrawUIButton(UI.NetworkDiplomacyButton.Style, (ButtonAreaUnderCursor == ButtonAreaMenu && ButtonUnderCursor == ButtonUnderNetworkDiplomacy ? MI_FLAGS_ACTIVE : 0) | //Wyrmgus start // (GameDiplomacyButtonClicked ? MI_FLAGS_CLICKED : 0), (UI.NetworkDiplomacyButton.Clicked ? MI_FLAGS_CLICKED : 0), //Wyrmgus end UI.NetworkDiplomacyButton.X, UI.NetworkDiplomacyButton.Y, UI.NetworkDiplomacyButton.Text); } }
static void DrawMenuButtonArea_Network() { if (UI.NetworkMenuButton.X != -1) { DrawUIButton(UI.NetworkMenuButton.Style, (ButtonAreaUnderCursor == ButtonAreaMenu && ButtonUnderCursor == ButtonUnderNetworkMenu ? MI_FLAGS_ACTIVE : 0) | (GameMenuButtonClicked ? MI_FLAGS_CLICKED : 0), UI.NetworkMenuButton.X, UI.NetworkMenuButton.Y, UI.NetworkMenuButton.Text); } if (UI.NetworkDiplomacyButton.X != -1) { DrawUIButton(UI.NetworkDiplomacyButton.Style, (ButtonAreaUnderCursor == ButtonAreaMenu && ButtonUnderCursor == ButtonUnderNetworkDiplomacy ? MI_FLAGS_ACTIVE : 0) | (GameDiplomacyButtonClicked ? MI_FLAGS_CLICKED : 0), UI.NetworkDiplomacyButton.X, UI.NetworkDiplomacyButton.Y, UI.NetworkDiplomacyButton.Text); } }
static void DrawMenuButtonArea_noNetwork() { if (UI.MenuButton.X != -1) { DrawUIButton(UI.MenuButton.Style, (ButtonAreaUnderCursor == ButtonAreaMenu && ButtonUnderCursor == ButtonUnderMenu ? MI_FLAGS_ACTIVE : 0) | //Wyrmgus start // (GameMenuButtonClicked ? MI_FLAGS_CLICKED : 0), (UI.MenuButton.Clicked ? MI_FLAGS_CLICKED : 0), //Wyrmgus end UI.MenuButton.X, UI.MenuButton.Y, UI.MenuButton.Text); } }
void DrawUserDefinedButtons() { for (size_t i = 0; i < UI.UserButtons.size(); ++i) { const CUIUserButton &button = UI.UserButtons[i]; if (button.Button.X != -1) { DrawUIButton(button.Button.Style, (ButtonAreaUnderCursor == ButtonAreaUser && size_t(ButtonUnderCursor) == i ? MI_FLAGS_ACTIVE : 0) | (button.Clicked ? MI_FLAGS_CLICKED : 0), button.Button.X, button.Button.Y, button.Button.Text); } } }
/** ** Draw unit icon 'icon' with border on x,y ** ** @param style Button style ** @param flags State of icon (clicked, mouse over...) ** @param pos display pixel position ** @param text Optional text to display */ void CIcon::DrawUnitIcon(const ButtonStyle &style, unsigned flags, const PixelPos &pos, const std::string &text, int player) const { ButtonStyle s(style); s.Default.Sprite = s.Hover.Sprite = s.Clicked.Sprite = this->G; s.Default.Frame = s.Hover.Frame = s.Clicked.Frame = this->Frame; if (!(flags & IconSelected) && (flags & IconAutoCast)) { s.Default.BorderColorRGB = UI.ButtonPanel.AutoCastBorderColorRGB; s.Default.BorderColor = 0; } if (Preference.IconsShift) { // Left and top edge of Icon Video.DrawHLine(ColorWhite, pos.x - 1, pos.y - 1, 49); Video.DrawVLine(ColorWhite, pos.x - 1, pos.y, 40); Video.DrawVLine(ColorWhite, pos.x, pos.y + 38, 2); Video.DrawHLine(ColorWhite, pos.x + 46, pos.y, 2); // Bottom and Right edge of Icon Video.DrawHLine(ColorGray, pos.x + 1, pos.y + 38, 47); Video.DrawHLine(ColorGray, pos.x + 1, pos.y + 39, 47); Video.DrawVLine(ColorGray, pos.x + 46, pos.y + 1, 37); Video.DrawVLine(ColorGray, pos.x + 47, pos.y + 1, 37); Video.DrawRectangle(ColorBlack, pos.x - 3, pos.y - 3, 52, 44); Video.DrawRectangle(ColorBlack, pos.x - 4, pos.y - 4, 54, 46); if (flags & IconClicked) { DrawUIButton(&s, flags, pos.x + 1, pos.y + 1, text, player); } else { DrawUIButton(&s, flags, pos.x, pos.y, text, player); } } else { DrawUIButton(&s, flags, pos.x, pos.y, text, player); } }
/** ** Draw unit icon 'icon' with border on x,y ** ** @param style Button style ** @param flags State of icon (clicked, mouse over...) ** @param pos display pixel position ** @param text Optional text to display */ void CIcon::DrawUnitIcon(const ButtonStyle &style, unsigned flags, const PixelPos &pos, const std::string &text, int player) const { ButtonStyle s(style); s.Default.Sprite = s.Hover.Sprite = s.Clicked.Sprite = this->G; s.Default.Frame = s.Hover.Frame = s.Clicked.Frame = this->Frame; if (!(flags & IconSelected) && (flags & IconAutoCast)) { s.Default.BorderColorRGB = UI.ButtonPanel.AutoCastBorderColorRGB; s.Default.BorderColor = 0; s.Default.BorderSize = 2; } if (Preference.IconsShift && Preference.IconFrameG && Preference.PressedIconFrameG) { int shift = 0; if (!(flags & IconClicked)) { int xoffset = (s.Width - Preference.IconFrameG->Width) / 2; int yoffset = (s.Height - Preference.IconFrameG->Height) / 2; Preference.IconFrameG->DrawClip(pos.x + xoffset, pos.y + yoffset); } else { // Shift the icon a bit to make it look like it's been pressed. shift = 1; int xoffset = (s.Width - Preference.PressedIconFrameG->Width) / 2 + shift; int yoffset = (s.Height - Preference.PressedIconFrameG->Height) / 2 + shift; Preference.PressedIconFrameG->DrawClip(pos.x + xoffset, pos.y + yoffset); } DrawUIButton(&s, flags, pos.x + shift, pos.y + shift, text, player); if (flags & IconSelected) { Video.DrawRectangle(ColorGreen, pos.x + shift, pos.y + shift, s.Width, s.Height); } } else if (Preference.IconsShift) { // Left and top edge of Icon Video.DrawHLine(ColorWhite, pos.x - 1, pos.y - 1, 49); Video.DrawVLine(ColorWhite, pos.x - 1, pos.y, 40); Video.DrawVLine(ColorWhite, pos.x, pos.y + 38, 2); Video.DrawHLine(ColorWhite, pos.x + 46, pos.y, 2); // Bottom and Right edge of Icon Video.DrawHLine(ColorGray, pos.x + 1, pos.y + 38, 47); Video.DrawHLine(ColorGray, pos.x + 1, pos.y + 39, 47); Video.DrawVLine(ColorGray, pos.x + 46, pos.y + 1, 37); Video.DrawVLine(ColorGray, pos.x + 47, pos.y + 1, 37); Video.DrawRectangle(ColorBlack, pos.x - 3, pos.y - 3, 52, 44); Video.DrawRectangle(ColorBlack, pos.x - 4, pos.y - 4, 54, 46); if (flags & IconActive) { // Code to make a border appear around the icon when the mouse hovers over it. Video.DrawRectangle(ColorGray, pos.x - 4, pos.y - 4, 54, 46); DrawUIButton(&s, flags, pos.x, pos.y, text, player); } if (flags & IconClicked) { // Shift the icon a bit to make it look like it's been pressed. DrawUIButton(&s, flags, pos.x + 1, pos.y + 1, text, player); if (flags & IconSelected) { Video.DrawRectangle(ColorGreen, pos.x + 1, pos.y + 1, 46, 38); } Video.DrawRectangle(ColorGray, pos.x, pos.y, 48, 40); Video.DrawVLine(ColorDarkGray, pos.x - 1, pos.y - 1, 40); Video.DrawHLine(ColorDarkGray, pos.x - 1, pos.y - 1, 49); Video.DrawHLine(ColorDarkGray, pos.x - 1, pos.y + 39, 2); Video.DrawRectangle(ColorGray, pos.x - 4, pos.y - 4, 54, 46); } else { DrawUIButton(&s, flags, pos.x, pos.y, text, player); if (flags & IconSelected) { Video.DrawRectangle(ColorGreen, pos.x, pos.y, 46, 38); } } } else { DrawUIButton(&s, flags, pos.x, pos.y, text, player); } }