public override void Setup(RectangleF ownerRect, float zOrder, bool skinNeutralAR)
        {
            PositionColoredTextured[] verts = new PositionColoredTextured[4];

            // Upper left
            verts[0].X     = ownerRect.Left;
            verts[0].Y     = ownerRect.Top;
            verts[0].Color = 0;
            verts[0].Tu1   = 0.0f;
            verts[0].Tv1   = 0.0f;
            verts[0].Z     = zOrder;

            // Bottom left
            verts[1].X     = ownerRect.Left;
            verts[1].Y     = ownerRect.Bottom;
            verts[1].Color = 0;
            verts[1].Tu1   = 0.0f;
            verts[1].Tv1   = 1.0f;
            verts[1].Z     = zOrder;

            // Bottom right
            verts[2].X     = ownerRect.Right;
            verts[2].Y     = ownerRect.Bottom;
            verts[2].Color = 0;
            verts[2].Tu1   = 1.0f;
            verts[2].Tv1   = 1.0f;
            verts[2].Z     = zOrder;

            // Upper right
            verts[3].X     = ownerRect.Right;
            verts[3].Y     = ownerRect.Top;
            verts[3].Color = 0;
            verts[3].Tu1   = 1.0f;
            verts[3].Tv1   = 0.0f;
            verts[3].Z     = zOrder;

            _primitiveBuffer.Set(ref verts, PrimitiveType.TriangleFan);

            _frameSize = skinNeutralAR ? ImageContext.AdjustForSkinAR(ownerRect.Size) : ownerRect.Size;
            _imageContext.FrameSize = _frameSize;
        }