Exemplo n.º 1
0
        /// <summary>Return true if the pen style is null and if it isn't a brush.</summary>
        /// <param name="isRectangle">
        /// value to decide how to change the state. If true state.setLineJoinRectangle(cb) is called,
        /// if false state.setLineJoinPolygon(cb) is called.
        /// </param>
        /// <returns>true if the pen style is null and if it isn't a brush</returns>
        public virtual bool IsNullStrokeFill(bool isRectangle)
        {
            MetaPen   pen     = state.GetCurrentPen();
            MetaBrush brush   = state.GetCurrentBrush();
            bool      noPen   = pen.GetStyle() == MetaPen.PS_NULL;
            int       style   = brush.GetStyle();
            bool      isBrush = style == MetaBrush.BS_SOLID || style == MetaBrush.BS_HATCHED && state.GetBackgroundMode() ==
                                MetaState.OPAQUE;
            bool result = noPen && !isBrush;

            if (!noPen)
            {
                if (isRectangle)
                {
                    state.SetLineJoinRectangle(cb);
                }
                else
                {
                    state.SetLineJoinPolygon(cb);
                }
            }
            return(result);
        }