コード例 #1
0
ファイル: GUIMask.cs プロジェクト: RasterCode/OtterUI
        public void DrawMask(Otter.Interface.Graphics graphics)
        {
            //set our stored matrix as the stencil matrix
            graphics.SetStencilMatrix(this.FullTransform.Entries);

            TextureInfo info = Scene.GetTextureInfo(mTextureID);
            int texID = (info != null) ? info.TextureID : -1;

            switch (Flip)
            {
                case GUISprite.FlipType.None:
                    {
                        graphics.DrawRectangleStencil(texID, 0.0f, 0.0f, Layout.Size.Width, Layout.Size.Height, 0.0f, 0.0f, 1.0f, 1.0f, Color.White.ToArgb(), Skew, ID);
                        break;
                    }
                case GUISprite.FlipType.Vertical:
                    {
                        graphics.DrawRectangleStencil(texID, 0.0f, 0.0f, Layout.Size.Width, Layout.Size.Height, 0.0f, 1.0f, 1.0f, 0.0f, Color.White.ToArgb(), Skew, ID);
                        break;
                    }
                case GUISprite.FlipType.Horizontal:
                    {
                        graphics.DrawRectangleStencil(texID, 0.0f, 0.0f, Layout.Size.Width, Layout.Size.Height, 1.0f, 0.0f, 0.0f, 1.0f, Color.White.ToArgb(), -Skew, ID);
                        break;
                    }
            }
        }