void OnUpdateRect(DisplRect r) { SBrush.Color = Color.FromArgb(r.Argb); RGraphics.FillRectangle(SBrush, r.Rectangle); }
void DoRectUpdated(DisplRect r) { r.SetArgb(Palette, PauseDim); if (UpdateRect != null) { TransformRect(ref r); if (ClipRect(ref r)) { UpdateRect(r); FrameRectCount++; } } }
void TransformRect(ref DisplRect r) { r.X -= OffsetLeft; r.Y -= ClipTop; r.X *= PixelSize.Width; r.Y *= PixelSize.Height; r.Width *= PixelSize.Width; r.Height *= PixelSize.Height; r.X += CenteringOffset.Width; r.Y += CenteringOffset.Height; }
bool ClipRect(ref DisplRect r) { if (r.X >= ViewPortSize.Width || r.Right < 0) { return false; } if (r.X < 0) { r.Width += r.X; r.X = 0; } if (r.Right >= ViewPortSize.Width) { r.Width -= r.Right - ViewPortSize.Width; } return r.Width > 0; }