예제 #1
0
        public override void Draw(GUIRenderer.GUIRenderer guiRenderer, Vector2 parentPosition, Vector2 mousePosition)
        {
            guiRenderer.DrawQuad(parentPosition + Position, Dimensions, BlockColor);

            Vector2 fullcolorPickerDimensions = new Vector2(Dimensions.X * 0.2f, Dimensions.Y);

            guiRenderer.DrawColorQuad(parentPosition + Position +
                                      new Vector2(Dimensions.X - fullcolorPickerDimensions.X, 0)
                                      + border * Vector2.One,
                                      fullcolorPickerDimensions - Vector2.One * border * 2,
                                      Color.White);

            Vector2 findColorPickerDimensions = new Vector2(Dimensions.X * 0.75f, Dimensions.Y * 0.75f);

            guiRenderer.DrawQuad(parentPosition + Position + border * Vector2.One, findColorPickerDimensions, Color.White);
            guiRenderer.DrawColorQuad2(parentPosition + Position + border * Vector2.One, findColorPickerDimensions, CurrentFullColor);

            guiRenderer.DrawQuad(new Vector2(parentPosition.X + Position.X + border + Dimensions.X - fullcolorPickerDimensions.X, Position.Y + parentPosition.Y + _mousePointerFull.Y - _mousePointerThickness), new Vector2(10, _mousePointerThickness * 2), Color.White);


            guiRenderer.DrawQuad(parentPosition + Position + border * Vector2.One + (findColorPickerDimensions + Dimensions * 0.02f) * Vector2.UnitY, new Vector2(findColorPickerDimensions.X, 30), CurrentFineColor);

            guiRenderer.DrawText(parentPosition + Position + Vector2.One + border * Vector2.One * 2 + (findColorPickerDimensions + Dimensions * 0.05f) * Vector2.UnitY, _colorString, _font, Color.Black);
            guiRenderer.DrawText(parentPosition + Position + border * Vector2.One * 2 + (findColorPickerDimensions + Dimensions * 0.05f) * Vector2.UnitY, _colorString, _font, Color.White);

            Vector2 msFine = Position + parentPosition + _mousePointerFine;

            //mouse pointer
            guiRenderer.DrawQuad(msFine - new Vector2(_mousePointerLength + _mousePointerOffset, _mousePointerThickness), new Vector2(_mousePointerLength, _mousePointerThickness * 2), Color.White);
            guiRenderer.DrawQuad(msFine + new Vector2(_mousePointerOffset, -_mousePointerThickness), new Vector2(_mousePointerLength, _mousePointerThickness * 2), Color.White);

            guiRenderer.DrawQuad(msFine - new Vector2(_mousePointerThickness, _mousePointerLength + _mousePointerOffset), new Vector2(_mousePointerThickness * 2, _mousePointerLength), Color.White);
            guiRenderer.DrawQuad(msFine + new Vector2(-_mousePointerThickness, _mousePointerOffset), new Vector2(_mousePointerThickness * 2, _mousePointerLength), Color.White);
        }
예제 #2
0
        public override void Draw(GUIRenderer.GUIRenderer guiRenderer, Vector2 parentPosition, Vector2 mousePosition)
        {
            Vector2 buttonLeft = (_declarationTextDimensions + _fontPosition * 1.2f) * Vector2.UnitX;

            guiRenderer.DrawQuad(parentPosition + Position, Dimensions, BlockColor);
            guiRenderer.DrawQuad(parentPosition + Position + buttonLeft + Vector2.One * ButtonBorder, Dimensions - 2 * Vector2.One * ButtonBorder - buttonLeft - (2 + _textBorder.X) * Vector2.UnitX, _isHovered ? HoverColor : Color.DimGray);

            guiRenderer.DrawText(parentPosition + Position + _fontPosition, Text, TextFont, TextColor);

            //Description
            guiRenderer.DrawText(parentPosition + Position + buttonLeft + new Vector2(4, _fontPosition.Y), _selectedOptionName, TextFont, TextColor);
        }
예제 #3
0
        public override void Draw(GUIRenderer.GUIRenderer guiRenderer, Vector2 parentPosition, Vector2 mousePosition)
        {
            guiRenderer.DrawQuad(parentPosition + Position, Dimensions, BlockColor);

            Vector2 slideDimensions = new Vector2(Dimensions.X - SliderIndicatorBorder * 2, SliderBaseHeight);

            guiRenderer.DrawQuad(parentPosition + Position + new Vector2(SliderIndicatorBorder,
                                                                         Dimensions.Y * 0.5f - SliderBaseHeight * 0.5f), slideDimensions, Color.DarkGray);

            //slideDimensions = new Vector2(slideDimensions.X + SliderIndicatorSize* 0.5f, slideDimensions.Y);
            guiRenderer.DrawQuad(parentPosition + Position + new Vector2(SliderIndicatorBorder - SliderIndicatorSize * 0.5f,
                                                                         Dimensions.Y * 0.5f - SliderIndicatorSize * 0.5f) + _sliderPercent * slideDimensions * Vector2.UnitX, new Vector2(SliderIndicatorSize, SliderIndicatorSize), _sliderColor);
        }
예제 #4
0
 //Draw the GUI, cycle through the children
 public override void Draw(GUIRenderer.GUIRenderer guiRenderer, Vector2 parentPosition, Vector2 mousePosition)
 {
     if (!IsEnabled)
     {
         return;
     }
     for (int index = 0; index < _children.Count; index++)
     {
         GUIElement child = _children[index];
         if (child.IsHidden)
         {
             continue;
         }
         child.Draw(guiRenderer, parentPosition + Position, mousePosition);
     }
 }
예제 #5
0
        public override void Draw(GUIRenderer.GUIRenderer guiRenderer, Vector2 parentPosition, Vector2 mousePosition)
        {
            Vector2 buttonLeft = (_declarationTextDimensions + _fontPosition * 1.2f) * Vector2.UnitX;

            guiRenderer.DrawQuad(parentPosition + Position, Dimensions, BlockColor);
            guiRenderer.DrawQuad(parentPosition + Position + buttonLeft + Vector2.One * ButtonBorder, Dimensions - 2 * Vector2.One * ButtonBorder - buttonLeft - (2 + _textBorder.X) * Vector2.UnitX, _isHovered ? HoverColor : Color.DimGray);

            Vector2 indicatorButton = parentPosition + new Vector2(Dimensions.X - (2 + _textBorder.X), Dimensions.Y / 2 - 4);

            guiRenderer.DrawQuad(indicatorButton, Vector2.One * 8, _isLoaded < 1 ? Color.Red : (_isLoaded < 2 ? Color.Yellow : Color.LimeGreen));

            guiRenderer.DrawText(parentPosition + Position + _fontPosition, Text, TextFont, TextColor);

            //Description
            guiRenderer.DrawText(parentPosition + Position + buttonLeft + new Vector2(4, _fontPosition.Y), _isLoaded == 1 ? _loadingStringBuilder : _loadedObjectName, TextFont, TextColor);

            //Show texture if _isHovered
            if (_isLoaded == 2)
            {
                LoadedObject = GUILoader.ContentArray[_loadedObjectPointer];

                if (_isHovered)
                {
                    //compute position

                    Vector2 position = mousePosition;

                    float overborder = position.X + HoverImageWidth - GUIControl.ScreenWidth;

                    if (overborder > 0)
                    {
                        position.X -= overborder;
                    }


                    if (LoadedObject != null && LoadedObject.GetType() == typeof(Texture2D))
                    {
                        Texture2D image  = (Texture2D)LoadedObject;
                        float     height = (float)image.Height / image.Width * HoverImageWidth;
                        guiRenderer.DrawImage(position, new Vector2(HoverImageWidth, height),
                                              image, Color.White, true);
                    }
                }
            }
        }
예제 #6
0
        public override void Draw(GUIRenderer.GUIRenderer guiRenderer, Vector2 parentPosition, Vector2 mousePosition)
        {
            if (IsHidden)
            {
                return;
            }
            //Draw toggle element
            guiRenderer.DrawQuad(parentPosition + Position, _toggleDimensions, _isHovered ? HoverColor : ToggleBlockColor);

            //arrow
            if (IsToggled)
            {
                guiRenderer.DrawQuad(
                    parentPosition + Position + _toggleDimensions * 0.5f - ArrowButtonHeight * Vector2.One * 0.5f,
                    new Vector2(ArrowButtonHeight, ArrowButtonHeight * 0.25f), Color.White);
                guiRenderer.DrawQuad(
                    parentPosition + Position + _toggleDimensions * 0.5f - ArrowButtonHeight * Vector2.UnitX * 0.25f,
                    new Vector2(ArrowButtonHeight, ArrowButtonHeight * 0.5f) * 0.5f, Color.White);
            }
            else
            {
                guiRenderer.DrawQuad(
                    parentPosition + Position + _toggleDimensions * 0.5f - ArrowButtonHeight * Vector2.UnitX * 0.5f,
                    new Vector2(ArrowButtonHeight, ArrowButtonHeight * 0.25f), Color.White);
                guiRenderer.DrawQuad(
                    parentPosition + Position + _toggleDimensions * 0.5f - ArrowButtonHeight * new Vector2(0.25f, 0.5f),
                    new Vector2(ArrowButtonHeight, ArrowButtonHeight * 0.5f) * 0.5f, Color.White);
            }

            if (IsToggled)
            {
                float height = ToggleButtonHeight;

                for (int index = 0; index < _children.Count; index++)
                {
                    GUIElement child = _children[index];
                    child.Draw(guiRenderer, parentPosition + Position + height * Vector2.UnitY, mousePosition);

                    height += _children[index].Dimensions.Y;
                }
            }
        }
예제 #7
0
        //Draw the GUI, cycle through the children
        public override void Draw(GUIRenderer.GUIRenderer guiRenderer, Vector2 parentPosition, Vector2 mousePosition)
        {
            if (IsHidden)
            {
                return;
            }

            float height = 0;

            for (int index = 0; index < _children.Count; index++)
            {
                GUIElement child = _children[index];

                if (child.IsHidden)
                {
                    continue;
                }

                child.Draw(guiRenderer, parentPosition + Position + height * Vector2.UnitY, mousePosition);

                height += _children[index].Dimensions.Y;
            }
        }
예제 #8
0
 public override void Draw(GUIRenderer.GUIRenderer guiRenderer, Vector2 parentPosition, Vector2 mousePosition)
 {
     guiRenderer.DrawQuad(parentPosition + Position, Dimensions, BlockColor);
     guiRenderer.DrawQuad(parentPosition + Position + Dimensions * new Vector2(1, 0.5f) - ToggleIndicatorBorder * Vector2.UnitX - ToggleIndicatorSize * new Vector2(1, 0.5f), Vector2.One * ToggleIndicatorSize, Toggle ? Color.LimeGreen : Color.Red);
     guiRenderer.DrawText(parentPosition + Position + _fontPosition, Text, TextFont, TextColor);
 }
예제 #9
0
        public override void Draw(GUIRenderer.GUIRenderer guiRenderer, Vector2 parentPosition, Vector2 mousePosition)
        {
            if (IsHidden)
            {
                return;
            }

            Vector2 initialPosition = parentPosition + Position + ScrollTranslation * Vector2.UnitY;

            //Draw toggle element
            guiRenderer.DrawQuad(initialPosition, _toggleDimensions, _isHovered ? HoverColor : Color.DimGray);

            //arrow
            if (IsToggled)
            {
                guiRenderer.DrawQuad(
                    initialPosition + _toggleDimensions * 0.5f - ArrowButtonHeight * Vector2.One * 0.5f,
                    new Vector2(ArrowButtonHeight, ArrowButtonHeight * 0.25f), Color.White);
                guiRenderer.DrawQuad(
                    initialPosition + _toggleDimensions * 0.5f - ArrowButtonHeight * Vector2.UnitX * 0.25f,
                    new Vector2(ArrowButtonHeight, ArrowButtonHeight * 0.5f) * 0.5f, Color.White);
            }
            else
            {
                guiRenderer.DrawQuad(
                    initialPosition + _toggleDimensions * 0.5f - ArrowButtonHeight * Vector2.UnitX * 0.5f,
                    new Vector2(ArrowButtonHeight, ArrowButtonHeight * 0.25f), Color.White);
                guiRenderer.DrawQuad(
                    initialPosition + _toggleDimensions * 0.5f - ArrowButtonHeight * new Vector2(0.25f, 0.5f),
                    new Vector2(ArrowButtonHeight, ArrowButtonHeight * 0.5f) * 0.5f, Color.White);
            }

            if (IsToggled)
            {
                float height = ToggleButtonHeight;

                for (int index = 0; index < _children.Count; index++)
                {
                    GUIElement child = _children[index];

                    if (child.IsHidden)
                    {
                        continue;
                    }

                    if (ScrollTranslation + height < ParentDimensions.Y)
                    {
                        child.Draw(guiRenderer, initialPosition + height * Vector2.UnitY, mousePosition);
                    }
                    height += _children[index].Dimensions.Y;
                }

                ScrollBarEnabled = height > ParentDimensions.Y;

                if (ScrollBarEnabled)
                {
                    ScrollTotalHeight = MathHelper.Min(height, ParentDimensions.Y);
                    ListHeight        = height;

                    percentOverscroll = MathHelper.Max(1, ListHeight / ScrollTotalHeight);

                    SliderHeight = ScrollTotalHeight / percentOverscroll;
                }
                else
                {
                    ScrollTotalHeight = height;
                    ScrollTranslation = 0;
                }
                //Sidebar
                guiRenderer.DrawQuad(parentPosition + Position + _toggleDimensions * Vector2.UnitX, new Vector2(Scrollwidth, ScrollTotalHeight), ScrollBarEnabled ? ScrollBarEnabledColor : ScrollBarDisabledColor);

                //Scrollbar
                if (ScrollBarEnabled)
                {
                    guiRenderer.DrawQuad(parentPosition + Position + _toggleDimensions * Vector2.UnitX + percentScroll * (ScrollTotalHeight - SliderHeight) * Vector2.UnitY, new Vector2(Scrollwidth, SliderHeight), ScrollBarHovered ? SliderHoveredColor : SliderColor);
                }
            }
        }
예제 #10
0
 public override void Draw(GUIRenderer.GUIRenderer guiRenderer, Vector2 parentPosition, Vector2 mousePosition)
 {
     guiRenderer.DrawQuad(parentPosition + Position, Dimensions, Color.DimGray);
     guiRenderer.DrawQuad(parentPosition + Position + Vector2.One * ButtonBorder, Dimensions - 2 * Vector2.One * ButtonBorder, _isHovered ? HoverColor : BlockColor);
     guiRenderer.DrawText(parentPosition + Position + _fontPosition, Text, TextFont, TextColor);
 }
예제 #11
0
 public override void Draw(GUIRenderer.GUIRenderer guiRenderer, Vector2 parentPosition, Vector2 mousePosition)
 {
     guiRenderer.DrawQuad(parentPosition + Position, Dimensions, BlockColor);
     guiRenderer.DrawText(parentPosition + Position + _fontPosition, _text, TextFont, TextColor);
 }
예제 #12
0
 public abstract void Draw(GUIRenderer.GUIRenderer guiRenderer, Vector2 parentPosition, Vector2 mousePosition);