Exemple #1
0
        void IAbcVisual.Measure(AbcMeasureContext context)
        {
            if (!this.isVisible)
            {
                return;
            }

            this.isMeasurePhase = true;
            this.desiredMeasure = this.MeasureOverride(context);
            this.isMeasurePhase = false;
            this.isMeasureValid = true;
        }
Exemple #2
0
        internal void Measure(AbcMeasureContext context)
        {
            if (this.isMeasureValid)
            {
                return;
            }

            this.isMeasurePhase = true;
            AbcSize availableSize = context.availableSize;

            this.desiredMeasure   = this.MeasureOverride(context);
            context.availableSize = availableSize;
            this.isMeasurePhase   = false;
            this.isMeasureValid   = true;
        }
        protected override AbcSize MeasureOverride(AbcMeasureContext context)
        {
            if (this.axisLine == null)
            {
                this.axisLine = (IAbcRectangle)this.VisualTree.CreateVisual(typeof(IAbcRectangle));
                this.canvas.Children.Add(this.axisLine);
            }

            this.EnsureLabelInfos();
            AbcSize labelsDesiredSize = this.MeasureLabels(context);

            double desiredWidth  = labelsDesiredSize.width;
            double desiredHeight = this.axisLineThickness + this.axisTickThickness + labelsDesiredSize.height;

            return(new AbcSize(desiredWidth, desiredHeight));
        }
Exemple #4
0
        protected override void OnMeasure(int widthMeasureSpec, int heightMeasureSpec)
        {
            MeasureSpecMode widthMode       = MeasureSpec.GetMode(widthMeasureSpec);
            MeasureSpecMode heightMode      = MeasureSpec.GetMode(heightMeasureSpec);
            double          availableWidth  = widthMode == MeasureSpecMode.Unspecified ? double.PositiveInfinity : MeasureSpec.GetSize(widthMeasureSpec);
            double          availableHeight = heightMode == MeasureSpecMode.Unspecified ? double.PositiveInfinity : MeasureSpec.GetSize(heightMeasureSpec);

            AbcMeasureContext context = new AbcMeasureContext(new AbcSize(availableWidth, availableHeight));

            this.controlCoordinator.abcControl.Measure(context);

            AbcSize desiredMeasure = this.controlCoordinator.abcControl.DesiredMeasure;
            int     measuredWidth  = widthMode == MeasureSpecMode.Exactly ? (int)availableWidth : AbcMath.Round(desiredMeasure.width);
            int     measuredHeight = heightMode == MeasureSpecMode.Exactly ? (int)availableHeight : AbcMath.Round(desiredMeasure.height);

            this.SetMeasuredDimension(measuredWidth, measuredHeight);
        }
Exemple #5
0
 internal AbcRect(double width, double height)
 {
     this.x    = 0;
     this.y    = 0;
     this.size = new AbcSize(width, height);
 }
Exemple #6
0
 internal AbcRect(AbcSize size)
 {
     this.x    = 0;
     this.y    = 0;
     this.size = size;
 }
Exemple #7
0
 internal AbcRect(double x, double y, AbcSize size)
 {
     this.x    = x;
     this.y    = y;
     this.size = size;
 }
Exemple #8
0
 internal AbcMeasureContext(AbcSize availableSize)
 {
     this.availableSize = availableSize;
 }
Exemple #9
0
 internal AbcMeasureContext(AbcSize availableSize, AbcContextBase owner)
     : base(owner)
 {
     this.availableSize = availableSize;
 }