예제 #1
0
        public TextField TextField(int x, int y,
                                   int sizeX, int sizeY,
                                   Color textColor,
                                   SpriteFont font,
                                   ARenderStyle style,
                                   string hint = null,
                                   IHorizontalAlignable horizontalAlignment = null,
                                   IVerticalAlignable verticalAlignment     = null,
                                   IAlignmentTransition alignmentTransition = null,
                                   IColorPattern pattern       = null,
                                   TextAppenderHelper appender = null)
        {
            TextField textField = null;

            return(textField =
                       controlFactory.CreateTextBox(appender ?? TextAppenderHelper.Default,
                                                    font,
                                                    GetTexture(sizeX, sizeY, pattern),
                                                    new Region(new Vector2(x, y),
                                                               new Vector2(sizeX, sizeY)),
                                                    textColor,
                                                    style,
                                                    hint ?? string.Empty,
                                                    horizontalAlignment ?? HorizontalAlignment.Left,
                                                    verticalAlignment ?? VerticalAlignment.Center,
                                                    alignmentTransition ?? AlignmentTransition.Instant));
        }
예제 #2
0
 public Button Button(int x, int y,
                      int sizeX, int sizeY,
                      ARenderStyle style,
                      IColorPattern pattern)
 {
     return(controlFactory.CreateButton(new Region(new Vector2(x, y),
                                                   new Vector2(sizeX, sizeY)),
                                        GetTexture(sizeX, sizeY, pattern),
                                        style));
 }
예제 #3
0
 public ListView ListView(int x, int y,
                          int sizeX, int sizeY,
                          Orientation orientation,
                          IHorizontalAlignable horizontalAlignment,
                          IVerticalAlignable verticalAlignment,
                          IAlignmentTransition alignmentTransition,
                          IColorPattern pattern = null,
                          params AControl[] controls)
 {
     return(controlFactory.CreateListView(GetTexture(sizeX, sizeY, pattern ?? Pattern.SolidColor(Color.White)),
                                          new Region(new Vector2(x, y),
                                                     new Vector2(sizeX, sizeY)),
                                          orientation,
                                          new AlignmentContext(horizontalAlignment, verticalAlignment, alignmentTransition),
                                          controls.ToList().AsReadOnly()));
 }
예제 #4
0
 public CheckBox CheckBox(int x, int y,
                          int sizeX, int sizeY,
                          IColorPattern backgroundPattern,
                          int checkboxSizeX, int checkboxSizeY,
                          IColorPattern checkedPattern,
                          IColorPattern unCheckedPattern,
                          ARenderStyle style,
                          string text,
                          SpriteFont font)
 {
     return(controlFactory.CreateCheckBox(GetTexture(sizeX, sizeY, backgroundPattern),
                                          GetTexture(checkboxSizeX, checkboxSizeY, checkedPattern),
                                          GetTexture(checkboxSizeX, checkboxSizeY, unCheckedPattern),
                                          style,
                                          new Region(x, y, sizeX, sizeY),
                                          HorizontalAlignment.Left,
                                          VerticalAlignment.Center,
                                          text,
                                          font));
 }
예제 #5
0
 public Label Label(int x, int y,
                    int sizeX, int sizeY,
                    string text,
                    SpriteFont font,
                    Color textColor,
                    IColorPattern pattern,
                    IHorizontalAlignable horizontalAlignment = null,
                    IVerticalAlignable verticalAlignment     = null,
                    IAlignmentTransition alignmentTransition = null)
 {
     return(controlFactory.CreateLabel(text,
                                       font,
                                       textColor,
                                       GetTexture(sizeX, sizeY, pattern),
                                       new Region(new Vector2(x, y),
                                                  new Vector2(sizeX, sizeY)),
                                       horizontalAlignment ?? HorizontalAlignment.Left,
                                       verticalAlignment ?? VerticalAlignment.Center,
                                       alignmentTransition ?? AlignmentTransition.Instant));
 }
예제 #6
0
        public Slider Slider(int x, int y,
                             int sizeX, int sizeY,
                             int sliderSizeX, int sliderSizeY,
                             SliderInfo sliderInfo,
                             IColorPattern background,
                             IColorPattern slider,
                             IColorPattern filling,
                             IColorPattern border,
                             ARenderStyle style)
        {
            int offSet = 3;

            return(controlFactory.CreateSlider(sliderInfo,
                                               GetTexture(sizeX, sizeY + offSet * 2, background),
                                               GetTexture(sliderSizeX, sliderSizeY, slider),
                                               GetTexture(1, 1, filling),
                                               GetTexture(sizeX, sizeY, border),
                                               new Region(x, y - offSet, sizeX, sizeY + offSet * 2),
                                               new Region(x, y, sizeX, sizeY),
                                               new Region(x, y, sliderSizeX, sliderSizeY),
                                               style));
        }
예제 #7
0
 public PatternMaterial(IColorPattern pattern, double ambient, double diffuse, double specular, double shininess, double reflective, double refractiveIndex, double transparency)
     : base(ambient, diffuse, specular, shininess, reflective, refractiveIndex, transparency)
 {
     Pattern = pattern;
 }
예제 #8
0
 public Texture2D GetTexture(int width, int height, IColorPattern pattern)
 {
     return(style.TextureFactory.GetTexture(
                new TextureCreationRequest(width, height,
                                           pattern)));
 }
예제 #9
0
 public TextureCreationRequest(int width, int height, IColorPattern pattern)
 {
     this.width   = width;
     this.height  = height;
     this.pattern = pattern;
 }