Пример #1
0
        //--------------------------------------------------------------------
        public override void BlendHLine(int x1, int y, int x2, RGBA_Bytes c, byte cover)
        {
            int len = x2 - x1 + 1;

            if (cover == CoverFull)
            {
                ReAllocSpan(len);
                unsafe
                {
                    fixed(byte *pBuffer = m_span.Array)
                    {
                        m_mask.CombineHSpanFullCover(x1, y, pBuffer, (int)len);
                        m_pixf.BlendSolidHSpan(x1, y, (uint)len, c, pBuffer);
                    }
                }
            }
            else
            {
                InitSpan(len, cover);
                unsafe
                {
                    fixed(byte *pBuffer = m_span.Array)
                    {
                        m_mask.CombineHSpan(x1, y, pBuffer, (int)len);
                        m_pixf.BlendSolidHSpan(x1, y, (uint)len, c, pBuffer);
                    }
                }
            }
        }