diff options
author | Marc-André Moreau <marcandre.moreau@gmail.com> | 2011-03-29 09:19:03 +0400 |
---|---|---|
committer | Marc-André Moreau <marcandre.moreau@gmail.com> | 2011-03-29 09:19:03 +0400 |
commit | e0b10317fbbde57c1fa0dba08464e2443c97e4e1 (patch) | |
tree | 24eda8ace8ab21c9de91247d0f57085de3ceb882 | |
parent | 9773a2f6780cd62d6e3c000b710f789469b075fd (diff) |
Added more callbacks
-rw-r--r-- | GdiTest.userprefs | 14 | ||||
-rw-r--r-- | GdiTest/BitBltDrawingArea.cs | 48 | ||||
-rw-r--r-- | GdiTest/FreeRDPGDI.cs | 2 | ||||
-rw-r--r-- | GdiTest/GDI.cs | 2 | ||||
-rw-r--r-- | GdiTest/GdiTest.pidb | bin | 15214 -> 21486 bytes | |||
-rw-r--r-- | GdiTest/TestData.cs | 6 | ||||
-rw-r--r-- | GdiTest/Win32GDI.cs | 4 |
7 files changed, 35 insertions, 41 deletions
diff --git a/GdiTest.userprefs b/GdiTest.userprefs index a20ec60..321859a 100644 --- a/GdiTest.userprefs +++ b/GdiTest.userprefs @@ -1,13 +1,15 @@ <Properties> <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|x86" /> - <MonoDevelop.Ide.Workbench ActiveDocument="GdiTest\MainWindow.cs"> + <MonoDevelop.Ide.Workbench ActiveDocument="GdiTest\BitBltDrawingArea.cs"> <Files> - <File FileName="GdiTest\BitBltDrawingArea.cs" Line="49" Column="6" /> - <File FileName="GdiTest\GDI.cs" Line="1" Column="1" /> - <File FileName="GdiTest\FreeRDPGDI.cs" Line="49" Column="21" /> - <File FileName="GdiTest\Win32GDI.cs" Line="6" Column="29" /> - <File FileName="GdiTest\MainWindow.cs" Line="40" Column="3" /> + <File FileName="GdiTest\Win32GDI.cs" Line="30" Column="72" /> + <File FileName="GdiTest\MainWindow.cs" Line="40" Column="38" /> <File FileName="GdiTest\Main.cs" Line="12" Column="37" /> + <File FileName="GdiTest\LineToDrawingArea.cs" Line="186" Column="1" /> + <File FileName="GdiTest\TestDrawingArea.cs" Line="7" Column="18" /> + <File FileName="GdiTest\BitBltDrawingArea.cs" Line="12" Column="4" /> + <File FileName="GdiTest\GDI.cs" Line="37" Column="60" /> + <File FileName="c:\Users\awake\Documents\GdiTest\GdiTest\FreeRDPGDI.cs" Line="74" Column="3" /> </Files> </MonoDevelop.Ide.Workbench> <MonoDevelop.Ide.DebuggingService.Breakpoints> diff --git a/GdiTest/BitBltDrawingArea.cs b/GdiTest/BitBltDrawingArea.cs index a5e3de9..269f2f1 100644 --- a/GdiTest/BitBltDrawingArea.cs +++ b/GdiTest/BitBltDrawingArea.cs @@ -14,40 +14,32 @@ namespace GdiTest protected override bool OnExposeEvent (Gdk.EventExpose args) { using (Context cg = Gdk.CairoHelper.Create (args.Window)) - { - cg.Antialias = Antialias.None; - cg.LineWidth = 4; - - cg.Color = new Cairo.Color(1,0,0); - cg.MoveTo (10, 10); - cg.LineTo (110, 10); - cg.Stroke (); - - cg.Color = new Cairo.Color(0,1,0); - cg.MoveTo (10, 10); - cg.LineTo (10, 110); - cg.Stroke (); - - cg.Color = new Cairo.Color(0,0,1); - cg.MoveTo (10, 10); - cg.LineTo (110, 110); - cg.Stroke (); - + { Win32GDI GDI_Win32 = Win32GDI.getInstance(); if (GDI_Win32.isAvailable()) { System.Drawing.Graphics wg = Gtk.DotNet.Graphics.FromDrawable(this.GdkWindow, true); - IntPtr dc = wg.GetHdc(); + IntPtr hdc = wg.GetHdc(); - GDI_Win32.BitBlt(dc, 70, 0, 60, 60, dc, 0, 0, GDI.SRCCOPY); - } - - FreeRDPGDI GDI_FreeRDP = FreeRDPGDI.getInstance(); - - if (GDI_FreeRDP.isAvailable()) - { - GDI_FreeRDP.GetDC((IntPtr) null); + TestData data = new TestData(); + + for (int i = 0; i < data.bmp_SRC.GetLength(0) / 2; i++) + { + for (int j = 0; j < data.bmp_SRC.GetLength(1); j++) + { + uint p = 0; + + if (data.bmp_SRC[i, j] == 0) + p = 0; + else + p = 0xFFFFFFFF; + + GDI_Win32.SetPixel(hdc, i, j, p); + } + } + + //GDI_Win32.BitBlt(dc, 70, 0, 60, 60, dc, 0, 0, GDI.SRCCOPY); } } return true; diff --git a/GdiTest/FreeRDPGDI.cs b/GdiTest/FreeRDPGDI.cs index a38b5f7..4877067 100644 --- a/GdiTest/FreeRDPGDI.cs +++ b/GdiTest/FreeRDPGDI.cs @@ -82,7 +82,7 @@ namespace GdiTest return 0; } - public override uint SetPixel(IntPtr hdc, int X, int Y, int crColor) + public override uint SetPixel(IntPtr hdc, int X, int Y, uint crColor) { return 0; } diff --git a/GdiTest/GDI.cs b/GdiTest/GDI.cs index 8aa8351..894726e 100644 --- a/GdiTest/GDI.cs +++ b/GdiTest/GDI.cs @@ -34,7 +34,7 @@ namespace GdiTest public abstract IntPtr SelectObject(IntPtr hdc, IntPtr hgdiobj); public abstract bool DeleteObject(IntPtr hObject); public abstract uint GetPixel(IntPtr hdc, int X, int Y); - public abstract uint SetPixel(IntPtr hdc, int X, int Y, int crColor); + public abstract uint SetPixel(IntPtr hdc, int X, int Y, uint crColor); public abstract bool MoveToEx(IntPtr hdc, int X, int Y, IntPtr lpPoint); public abstract bool LineTo(IntPtr hdc, int nXEnd, int nYEnd); public abstract IntPtr CreatePen(int fnPenStyle, int nWidth, int crColor); diff --git a/GdiTest/GdiTest.pidb b/GdiTest/GdiTest.pidb Binary files differindex 22bbd55..98b88e0 100644 --- a/GdiTest/GdiTest.pidb +++ b/GdiTest/GdiTest.pidb diff --git a/GdiTest/TestData.cs b/GdiTest/TestData.cs index 10da8d2..6130999 100644 --- a/GdiTest/TestData.cs +++ b/GdiTest/TestData.cs @@ -4,7 +4,7 @@ namespace GdiTest public class TestData { /* Source Bitmap */ - byte[,] bmp_SRC = new byte[,] + public byte[,] bmp_SRC = new byte[,] { { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }, { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }, @@ -25,7 +25,7 @@ namespace GdiTest }; /* Destination Bitmap */ - byte[,] bmp_DST = new byte[,] + public byte[,] bmp_DST = new byte[,] { { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }, { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }, @@ -46,7 +46,7 @@ namespace GdiTest }; /* Pattern Bitmap */ - byte[,] bmp_PAT = new byte[,] + public byte[,] bmp_PAT = new byte[,] { { 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00 }, { 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00 }, diff --git a/GdiTest/Win32GDI.cs b/GdiTest/Win32GDI.cs index 0fd19c4..389e48e 100644 --- a/GdiTest/Win32GDI.cs +++ b/GdiTest/Win32GDI.cs @@ -27,7 +27,7 @@ namespace GdiTest public static extern uint GetPixel(IntPtr hdc, int X, int Y); [DllImport("gdi32.dll")] - public static extern uint SetPixel(IntPtr hdc, int X, int Y, int crColor); + public static extern uint SetPixel(IntPtr hdc, int X, int Y, uint crColor); [DllImport("gdi32")] public static extern bool MoveToEx(IntPtr hdc, int X, int Y, IntPtr lpPoint); @@ -124,7 +124,7 @@ namespace GdiTest return 0; } - public override uint SetPixel(IntPtr hdc, int X, int Y, int crColor) + public override uint SetPixel(IntPtr hdc, int X, int Y, uint crColor) { if (available) return Callbacks.SetPixel(hdc, X, Y, crColor); |