internal static void resetOrderState() { Orders.Reset(); SurfaceClip.Reset(); DestBltOrder.Reset(); MultiDestBltOrder.Reset(); PatBltOrder.Reset(); MultiPatBltOrder.Reset(); ScreenBltOrder.Reset(); MultiScreenBltOrder.Reset(); MemBltOrder.Reset(); TriBltOrder.Reset(); ScreenBltOrder.Reset(); LineOrder.Reset(); PolylineOrder.Reset(); RectangleOrder.Reset(); MultiRectangleOrder.Reset(); DeskSaveOrder.Reset(); Glyph.Reset(); Cache.Reset(!m_bInitialised); Text2Order.Reset(); Options.BoundsTop = Options.BoundsLeft = 0; Options.BoundsBottom = Options.height - 1; Options.BoundsRight = Options.width - 1; }
internal static void drawMultiRectangleOrder() { int num; if (Options.server_bpp == 0x10) { num = RdpBitmap.convertFrom16bit(((ColourB << 0x10) | (ColourG << 8)) | ColourR); } else { num = RdpBitmap.convertFrom8bit(ColourR); } foreach (Rectangle rectangle in DeltaList) { RectangleOrder.fillRectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height, num); } }
private static void processRectangle(RdpPacket data, int present, bool delta) { if ((present & 1) != 0) { RectangleOrder.X = setCoordinate(data, RectangleOrder.X, delta); } if ((present & 2) != 0) { RectangleOrder.Y = setCoordinate(data, RectangleOrder.Y, delta); } if ((present & 4) != 0) { RectangleOrder.CX = setCoordinate(data, RectangleOrder.CX, delta); } if ((present & 8) != 0) { RectangleOrder.CY = setCoordinate(data, RectangleOrder.CY, delta); } if ((present & 0x10) != 0) { RectangleOrder.ColourR = data.ReadByte(); } if ((present & 0x20) != 0) { RectangleOrder.ColourG = data.ReadByte(); } if ((present & 0x40) != 0) { RectangleOrder.ColourB = data.ReadByte(); } RectangleOrder.drawRectangleOrder(); }