示例#1
0
 //============================================================
 // <T>开始绘制处理。</T>
 //
 // @param args 参数
 //============================================================
 public override void OnDrawBegin(SUiDrawArgs args)
 {
     base.OnDrawBegin(args);
     // 绘制处理
     if (TestVisible())
     {
         // 绘制背景资源
         DrawResource(_groundResource);
     }
 }
示例#2
0
        //============================================================
        // <T>绘制处理。</T>
        //
        // @param args 参数
        //============================================================
        public virtual void Draw(SUiDrawArgs args)
        {
            // 检查有效性
            if (!ComponentResource.OptionValid)
            {
                return;
            }
            // 设置数据
            bool       visible  = TestVisible();
            SIntPoint2 position = CalculatePosition();

            args.Position.Assign(position);
            // 计算数据
            _designLocation.Assign(CalculateDisplayPosition());
            _designSize.Assign(CalculateDisplaySize());
            // 开始层处理
            _deviceLayer.Begin(_designLocation.X, _designLocation.Y, _designSize.Width, _designSize.Height);
            // 检查可见性
            if (visible)
            {
                OnDrawBegin(args);
            }
            //............................................................
            // 子控件测试
            if (_components != null)
            {
                foreach (FUiComponent componment in _components)
                {
                    FUiControl control = componment as FUiControl;
                    if (control != null)
                    {
                        control.Draw(args);
                    }
                }
            }
            //............................................................
            // 结束绘制
            if (visible)
            {
                _context.Context.TransformLocation(_designLocation.X, _designLocation.Y);
                OnDrawAfter(args);
            }
            // 结束层处理
            _deviceLayer.End();
        }
示例#3
0
        //============================================================
        // <T>开始绘制处理。</T>
        //
        // @param args 参数
        //============================================================
        public virtual void OnDrawBegin(SUiDrawArgs args)
        {
            FDxContext2d context  = _context.Context;
            FRcControl   resource = ControlResource;

            // 绘制设计背景
            if (_designGround)
            {
                context.FillRectangle(_context.DesignGroundColor.brush, 0, 0, _designSize.Width, _designSize.Height);
            }
            // 绘制后景颜色
            if (resource.BackColor != 0)
            {
                context.FillRectangle(resource.BackColor, 0, 0, _designSize.Width, _designSize.Height);
            }
            // 绘制后景
            DrawResource(_backResource);
        }
示例#4
0
 //============================================================
 // <T>设计绘制处理。</T>
 //
 // @param args 参数
 //============================================================
 public virtual void DrawDesign(SUiDrawArgs args)
 {
     // 子控件设计绘制处理
     if (_components != null)
     {
         foreach (FUiComponent componment in _components)
         {
             FUiControl control = componment as FUiControl;
             if (control != null)
             {
                 control.DrawDesign(args);
             }
         }
     }
     // 设计绘制处理
     if (_designer != null)
     {
         _designer.Draw(args);
     }
 }
示例#5
0
        //============================================================
        // <T>结束绘制处理。</T>
        //
        // @param args 参数
        //============================================================
        public virtual void OnDrawAfter(SUiDrawArgs args)
        {
            FDxContext2d context = _context.Context;

            // 绘制前景
            DrawResource(_foreResource);
            // 绘制边框
            DrawBorder(ControlResource.BorderInner, ControlResource.BorderOuter);
            //if (_optionBorder) {
            //   SetupColor(_borderColor);
            //   if (_borderColor.Valid) {
            //      context.DrawRectangle(_borderColor.brush, 0, 0, _designSize.Width, _designSize.Height);
            //   }
            //}
            // 绘制设计边框
            if (_designBorder)
            {
                context.DrawRectangle(_context.DesignBorderBackColor.brush, 0, 0, _designSize.Width, _designSize.Height, 2);
                context.DrawRectangle(_context.DesignBorderForeColor.brush, 0, 0, _designSize.Width, _designSize.Height);
            }
        }
示例#6
0
 //============================================================
 // <T>结束绘制处理。</T>
 //
 // @param args 参数
 //============================================================
 public override void OnDrawAfter(SUiDrawArgs args)
 {
     base.OnDrawAfter(args);
 }
示例#7
0
        //============================================================
        // <T>绘制处理。</T>
        //
        // @param args 参数
        //============================================================
        public override void Draw(SUiDrawArgs args)
        {
            // 检查有效性
            if (!ComponentResource.OptionValid)
            {
                return;
            }
            // 设置数据
            bool       visible  = TestVisible();
            SIntPoint2 position = CalculatePosition();

            args.Position.Assign(position);
            // 计算数据
            _designLocation.Assign(CalculateDisplayPosition());
            _designSize.Assign(CalculateDisplaySize());
            // 开始层处理
            _deviceLayer.Begin(_designLocation.X, _designLocation.Y, _designSize.Width, _designSize.Height);
            // 检查可见性
            if (visible)
            {
                OnDrawBegin(args);
            }
            //............................................................
            // 子控件绘制
            if (_components != null)
            {
                // 绘制分页
                FUiScrollItem item = ActiveItem();
                if (item != null)
                {
                    ERcSpread spreadCd = ScrollViewResource.SpreadCd;
                    // 绘制多个
                    int itemWidth  = item.Size.Width + _horizontalSpace;
                    int itemHeight = item.Size.Height + _verticalSpace;
                    if ((spreadCd == ERcSpread.Horizontal) && (_verticalCount > 0))
                    {
                        for (int n = 0; n < _designItemCount; n++)
                        {
                            int cx = n % _verticalCount;
                            int cy = (int)(n / _verticalCount);
                            item.Location.Set(itemWidth * cx, itemHeight * cy);
                            item.Draw(args);
                        }
                    }
                    else if ((spreadCd == ERcSpread.Vertical) && (_horizontalCount > 0))
                    {
                        for (int n = 0; n < _designItemCount; n++)
                        {
                            int cx = n % _horizontalCount;
                            int cy = (int)(n / _horizontalCount);
                            item.Location.Set(itemWidth * cx, itemHeight * cy);
                            item.Draw(args);
                        }
                    }
                    // 恢复设置
                    item.Location.Set(0, 0);
                }
                // 绘制节点
                foreach (FUiComponent componment in _components)
                {
                    FUiControl control = componment as FUiControl;
                    if (control == null)
                    {
                        continue;
                    }
                    if (control is FUiScrollItem)
                    {
                        continue;
                    }
                    control.Draw(args);
                }
            }
            //............................................................
            // 结束绘制
            if (visible)
            {
                _context.Context.TransformLocation(_designLocation.X, _designLocation.Y);
                OnDrawAfter(args);
            }
            // 结束层处理
            _deviceLayer.End();
        }
示例#8
0
 //============================================================
 // <T>开始绘制处理。</T>
 //
 // @param args 参数
 //============================================================
 public override void OnDrawBegin(SUiDrawArgs args)
 {
     base.OnDrawBegin(args);
     // 绘制背景资源
     //DrawResource(_groundResource);
 }