annotate VNCServer/IFramebuffer.cs @ 111:df53bdd49507 default tip

Merge
author Ivo Smits <Ivo@UCIS.nl>
date Fri, 07 Nov 2014 18:37:39 +0100
parents 644a923bca98
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
1 ???using System;
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
2 using System.Drawing;
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
3
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
4 namespace UCIS.VNCServer {
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
5 /// <summary>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
6 /// A generic graphic framebuffer interface that provides functions to draw to and copy from the framebuffer
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
7 /// </summary>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
8 public interface IFramebuffer {
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
9 /// <summary>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
10 /// The width of the framebuffer in pixels
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
11 /// </summary>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
12 int Width { get; }
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
13 /// <summary>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
14 /// The height of the framebuffer in pixels
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
15 /// </summary>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
16 int Height { get; }
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
17 /// <summary>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
18 /// Clear the display area
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
19 /// </summary>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
20 void Clear();
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
21 /// <summary>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
22 /// Draw part of an Image to the screen
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
23 /// </summary>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
24 /// <remarks>Best performance is provided with Bitmap images.</remarks>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
25 /// <param name="image">The Image object to copy from</param>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
26 /// <param name="srcrect">The area in the image to copy</param>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
27 /// <param name="dest">The position on screen to copy to</param>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
28 void DrawImage(Image image, Rectangle srcrect, Point dest);
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
29 /// <summary>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
30 /// Draw part of a 32 bits per pixel bitmap to the screen
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
31 /// </summary>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
32 /// <param name="bitmap">The array that contains the Bitmap data (one pixel per entry)</param>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
33 /// <param name="bmwidth">The width of the Bitmap data</param>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
34 /// <param name="srcrect">The area in the bitmap to copy</param>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
35 /// <param name="dest">The position on screen to copy to</param>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
36 void DrawPixels(int[] bitmap, int bmwidth, Rectangle srcrect, Point dest);
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
37 /// <summary>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
38 /// Draw part of a 32 bits per pixel bitmap to the screen
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
39 /// </summary>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
40 /// <param name="bitmap">The pointer to the start of the Bitmap data</param>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
41 /// <param name="bmwidth">The width of the Bitmap data</param>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
42 /// <param name="srcrect">The area in the bitmap to copy</param>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
43 /// <param name="dest">The position on screen to copy to</param>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
44 void DrawPixels(IntPtr bitmap, int bmwidth, Rectangle srcrect, Point dest);
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
45
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
46 /// <summary>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
47 /// Copy an area on the display
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
48 /// </summary>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
49 /// <param name="srcrect">The area to copy from</param>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
50 /// <param name="dest">Where to copy the area to</param>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
51 void CopyRectangle(Rectangle srcrect, Point dest);
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
52
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
53 /// <summary>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
54 /// Copy an area from this framebuffer to another framebuffer
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
55 /// </summary>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
56 /// <remarks>Not all framebuffer implementations may support this operation, notably because some framebuffers can only be written to</remarks>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
57 /// <param name="srcrect">The area to copy</param>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
58 /// <param name="destbuffer">The framebuffer to copy to</param>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
59 /// <param name="destposition">The position in the destination framebuffer to copy to</param>
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
60 void CopyRectangleTo(Rectangle srcrect, IFramebuffer destbuffer, Point destposition);
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
61 }
644a923bca98 Added FBGUI and VNCServer
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
62 }