Esempio n. 1
0
        public void fillRoundRect(int x, int y, int w, int h, float radx, float rady, System.Drawing.Brush gdibrush)
        {
            var param = BrushParamFromGDIBrush(gdibrush);

            lock (_drawReqLock)
            {
                BrushParams.Add(param);
            }
            AddDrawRequest((target) =>
            {
                var brush = param.GetBrush(target);
                if (brush != null)
                {
                    dxFillRoundRect(target, x, y, w, h, radx, rady, brush);
                    brush.Dispose();
                }
            });
        }
Esempio n. 2
0
        public void fillPolygon(System.Drawing.PointF[] points, System.Drawing.Brush gdibrush, int offsetX = 0, int offsetY = 0)
        {
            var param = BrushParamFromGDIBrush(gdibrush);

            lock (_drawReqLock)
            {
                BrushParams.Add(param);
            }
            AddDrawRequest((target) =>
            {
                var brush = param.GetBrush(target);
                if (brush != null)
                {
                    dxFillPolygon(target, points, brush, offsetX, offsetY);
                    brush.Dispose();
                }
            });
        }
Esempio n. 3
0
        private void AddDrawRequest(Action <RenderTarget> action)
        {
            lock (_drawReqLock)
            {
                if (DrawRequestFlushed)
                {
                    DrawRequestFlushed = false;
                    DrawRequests.Clear();
                    foreach (var parms in BrushParams)
                    {
                        parms.Dispose();
                    }
                    BrushParams.Clear();
                }

                DrawRequests.Add(action);
            }
        }