- Timestamp:
- Nov 29, 2007, 12:20:05 AM (13 years ago)
- Location:
- libcaca/trunk/csharp
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/csharp/Caca.cs
r2089 r2095 201 201 public class CacaDisplay : IDisposable 202 202 { 203 private IntPtr _cv; 204 private IntPtr _dp; 203 private CuculCanvas _cv; 204 public CuculCanvas Canvas { get { return _cv; } } 205 206 private IntPtr _c_cv; 207 private IntPtr _c_dp; 205 208 206 209 [DllImport("libcaca.dll", CallingConvention=CallingConvention.Cdecl), … … 209 212 public CacaDisplay(CuculCanvas cv) 210 213 { 211 _cv = cv._cv; 212 _dp = caca_create_display(_cv); 214 _cv = cv; 215 _c_cv = _cv._c_cv; 216 _c_dp = caca_create_display(_c_cv); 217 } 218 219 public CacaDisplay() 220 { 221 /* XXX: we do not call caca_create_display() with a NULL 222 * argument because it's then impossible to create a CuculCanvas 223 * and I don't want to add a weird constructor */ 224 _cv = new CuculCanvas(); 225 _c_cv = _cv._c_cv; 226 _c_dp = caca_create_display(_c_cv); 213 227 } 214 228 … … 218 232 public void Dispose() 219 233 { 220 caca_free_display(_ dp);234 caca_free_display(_c_dp); 221 235 GC.SuppressFinalize(this); 222 236 } … … 227 241 public void Refresh() 228 242 { 229 caca_refresh_display(_ dp);243 caca_refresh_display(_c_dp); 230 244 } 231 245 … … 238 252 public int DisplayTime 239 253 { 240 get { return caca_get_display_time(_ dp); }241 set { caca_set_display_time(_ dp, value); }254 get { return caca_get_display_time(_c_dp); } 255 set { caca_set_display_time(_c_dp, value); } 242 256 } 243 257 … … 250 264 { 251 265 CacaEvent e = new CacaEvent(); 252 caca_get_event(_ dp, (int)t, e.cevent, timeout);266 caca_get_event(_c_dp, (int)t, e.cevent, timeout); 253 267 return e; 254 268 } … … 262 276 public Size Size 263 277 { 264 get { return new Size(caca_get_display_width(_ dp),265 caca_get_display_height(_ dp)); }278 get { return new Size(caca_get_display_width(_c_dp), 279 caca_get_display_height(_c_dp)); } 266 280 } 267 281 … … 271 285 public string Title 272 286 { 273 set { caca_set_display_title(_ dp, value); }287 set { caca_set_display_title(_c_dp, value); } 274 288 } 275 289 … … 279 293 public bool Mouse 280 294 { 281 set { caca_set_mouse(_ dp, value); }295 set { caca_set_mouse(_c_dp, value); } 282 296 } 283 297 … … 290 304 public Point MousePos 291 305 { 292 get { return new Point(caca_get_mouse_x(_ dp),293 caca_get_mouse_y(_ dp)); }306 get { return new Point(caca_get_mouse_x(_c_dp), 307 caca_get_mouse_y(_c_dp)); } 294 308 } 295 309 … … 299 313 public bool Cursor 300 314 { 301 set { caca_set_cursor(_ dp, value); }315 set { caca_set_cursor(_c_dp, value); } 302 316 } 303 317 } -
libcaca/trunk/csharp/Cucul.cs
r2091 r2095 67 67 public class CuculCanvas : IDisposable 68 68 { 69 public readonly IntPtr _c v;69 public readonly IntPtr _c_cv; 70 70 71 71 /* libcucul basic functions */ … … 76 76 public CuculCanvas() 77 77 { 78 _c v = cucul_create_canvas(0, 0);78 _c_cv = cucul_create_canvas(0, 0); 79 79 } 80 80 81 81 public CuculCanvas(Size s) 82 82 { 83 _c v = cucul_create_canvas(s.Width, s.Height);83 _c_cv = cucul_create_canvas(s.Width, s.Height); 84 84 } 85 85 86 86 public CuculCanvas(int w, int h) 87 87 { 88 _c v = cucul_create_canvas(h, w);88 _c_cv = cucul_create_canvas(h, w); 89 89 } 90 90 … … 94 94 public void Dispose() 95 95 { 96 cucul_free_canvas(_cv); 96 /* FIXME: don't destroy ourselves if we're attached */ 97 cucul_free_canvas(_c_cv); 97 98 GC.SuppressFinalize(this); 98 99 } … … 110 111 public Size Size 111 112 { 112 get { return new Size(cucul_get_canvas_width(_c v),113 cucul_get_canvas_height(_c v)); }114 set { cucul_set_canvas_size(_c v, value.Width, value.Height); }113 get { return new Size(cucul_get_canvas_width(_c_cv), 114 cucul_get_canvas_height(_c_cv)); } 115 set { cucul_set_canvas_size(_c_cv, value.Width, value.Height); } 115 116 } 116 117 117 118 public Rectangle Rectangle 118 119 { 119 get { return new Rectangle(0, 0, cucul_get_canvas_width(_c v),120 cucul_get_canvas_height(_c v)); }121 set { cucul_set_canvas_size(_c v, value.Width, value.Height); }120 get { return new Rectangle(0, 0, cucul_get_canvas_width(_c_cv), 121 cucul_get_canvas_height(_c_cv)); } 122 set { cucul_set_canvas_size(_c_cv, value.Width, value.Height); } 122 123 } 123 124 … … 135 136 public Point Cursor 136 137 { 137 get { return new Point(cucul_get_cursor_x(_c v),138 cucul_get_cursor_y(_c v)); }139 set { cucul_gotoxy(_c v, value.X, value.Y); }138 get { return new Point(cucul_get_cursor_x(_c_cv), 139 cucul_get_cursor_y(_c_cv)); } 140 set { cucul_gotoxy(_c_cv, value.X, value.Y); } 140 141 } 141 142 … … 146 147 public int putChar(Point p, int c) 147 148 { 148 return cucul_put_char(_c v, p.X, p.Y, c);149 return cucul_put_char(_c_cv, p.X, p.Y, c); 149 150 } 150 151 151 152 public int putChar(int x, int y, int c) 152 153 { 153 return cucul_put_char(_c v, x, y, c);154 return cucul_put_char(_c_cv, x, y, c); 154 155 } 155 156 … … 159 160 public int getChar(Point p) 160 161 { 161 return cucul_get_char(_c v, p.X, p.Y);162 return cucul_get_char(_c_cv, p.X, p.Y); 162 163 } 163 164 164 165 public int getChar(int x, int y) 165 166 { 166 return cucul_get_char(_c v, x, y);167 return cucul_get_char(_c_cv, x, y); 167 168 } 168 169 … … 173 174 public int putStr(Point p, string c) 174 175 { 175 return cucul_put_str(_c v, p.X, p.Y, c);176 return cucul_put_str(_c_cv, p.X, p.Y, c); 176 177 } 177 178 178 179 public int putStr(int x, int y, string c) 179 180 { 180 return cucul_put_str(_c v, x, y, c);181 return cucul_put_str(_c_cv, x, y, c); 181 182 } 182 183 … … 186 187 public int getAttr(Point p) 187 188 { 188 return cucul_get_attr(_c v, p.X, p.Y);189 return cucul_get_attr(_c_cv, p.X, p.Y); 189 190 } 190 191 191 192 public int getAttr(int x, int y) 192 193 { 193 return cucul_get_attr(_c v, x, y);194 return cucul_get_attr(_c_cv, x, y); 194 195 } 195 196 … … 199 200 public int setAttr(int a) 200 201 { 201 return cucul_set_attr(_c v, a);202 return cucul_set_attr(_c_cv, a); 202 203 } 203 204 … … 208 209 public int putAttr(Point p, int a) 209 210 { 210 return cucul_put_attr(_c v, p.X, p.Y, a);211 return cucul_put_attr(_c_cv, p.X, p.Y, a); 211 212 } 212 213 213 214 public int putAttr(int x, int y, int a) 214 215 { 215 return cucul_put_attr(_c v, x, y, a);216 return cucul_put_attr(_c_cv, x, y, a); 216 217 } 217 218 … … 222 223 public int setColorAnsi(int fg, int bg) 223 224 { 224 return cucul_set_color_ansi(_c v, (byte)fg, (byte)bg);225 return cucul_set_color_ansi(_c_cv, (byte)fg, (byte)bg); 225 226 } 226 227 … … 231 232 public int setColorArgb(int fg, int bg) 232 233 { 233 return cucul_set_color_argb(_c v, fg, bg);234 return cucul_set_color_argb(_c_cv, fg, bg); 234 235 } 235 236 … … 239 240 public int Clear() 240 241 { 241 return cucul_clear_canvas(_c v);242 return cucul_clear_canvas(_c_cv); 242 243 } 243 244 … … 254 255 public Point Handle 255 256 { 256 get { return new Point(cucul_get_canvas_handle_x(_c v),257 cucul_get_canvas_handle_y(_c v)); }258 set { cucul_set_canvas_handle(_c v, value.X, value.Y); }257 get { return new Point(cucul_get_canvas_handle_x(_c_cv), 258 cucul_get_canvas_handle_y(_c_cv)); } 259 set { cucul_set_canvas_handle(_c_cv, value.X, value.Y); } 259 260 } 260 261 … … 265 266 public int Blit(Point p, CuculCanvas canvas) 266 267 { 267 return cucul_blit(_c v, p.X, p.Y, canvas._cv, IntPtr.Zero);268 return cucul_blit(_c_cv, p.X, p.Y, canvas._c_cv, IntPtr.Zero); 268 269 } 269 270 270 271 public int Blit(Point p, CuculCanvas cv, CuculCanvas mask) 271 272 { 272 return cucul_blit(_c v, p.X, p.Y, cv._cv, mask._cv);273 return cucul_blit(_c_cv, p.X, p.Y, cv._c_cv, mask._c_cv); 273 274 } 274 275 275 276 public int Blit(int x, int y, CuculCanvas canvas) 276 277 { 277 return cucul_blit(_c v, x, y, canvas._cv, IntPtr.Zero);278 return cucul_blit(_c_cv, x, y, canvas._c_cv, IntPtr.Zero); 278 279 } 279 280 280 281 public int Blit(int x, int y, CuculCanvas cv, CuculCanvas mask) 281 282 { 282 return cucul_blit(_c v, x, y, cv._cv, mask._cv);283 return cucul_blit(_c_cv, x, y, cv._c_cv, mask._c_cv); 283 284 } 284 285 … … 290 291 public int setBoundaries(Rectangle r) 291 292 { 292 return cucul_set_canvas_boundaries(_c v, r.X, r.Y,293 return cucul_set_canvas_boundaries(_c_cv, r.X, r.Y, 293 294 r.Width, r.Height); 294 295 } … … 296 297 public int setBoundaries(int x, int y, int w, int h) 297 298 { 298 return cucul_set_canvas_boundaries(_c v, x, y, w, h);299 return cucul_set_canvas_boundaries(_c_cv, x, y, w, h); 299 300 } 300 301 … … 306 307 public int Invert() 307 308 { 308 return cucul_invert(_c v);309 return cucul_invert(_c_cv); 309 310 } 310 311 … … 314 315 public int Flip() 315 316 { 316 return cucul_flip(_c v);317 return cucul_flip(_c_cv); 317 318 } 318 319 … … 322 323 public int Flop() 323 324 { 324 return cucul_flop(_c v);325 return cucul_flop(_c_cv); 325 326 } 326 327 … … 330 331 public int Rotate180() 331 332 { 332 return cucul_rotate_180(_c v);333 return cucul_rotate_180(_c_cv); 333 334 } 334 335 … … 338 339 public int RotateLeft() 339 340 { 340 return cucul_rotate_left(_c v);341 return cucul_rotate_left(_c_cv); 341 342 } 342 343 … … 346 347 public int RotateRight() 347 348 { 348 return cucul_rotate_right(_c v);349 return cucul_rotate_right(_c_cv); 349 350 } 350 351 … … 354 355 public int StretchLeft() 355 356 { 356 return cucul_stretch_left(_c v);357 return cucul_stretch_left(_c_cv); 357 358 } 358 359 … … 362 363 public int StretchRight() 363 364 { 364 return cucul_stretch_right(_c v);365 return cucul_stretch_right(_c_cv); 365 366 } 366 367 … … 373 374 public int drawLine(Point p1, Point p2, uint c) 374 375 { 375 return cucul_draw_line(_c v, p1.X, p1.Y, p2.X, p2.Y, c);376 return cucul_draw_line(_c_cv, p1.X, p1.Y, p2.X, p2.Y, c); 376 377 } 377 378 378 379 public int drawLine(int x1, int y1, int x2, int y2, uint c) 379 380 { 380 return cucul_draw_line(_c v, x1, y1, x2, y2, c);381 return cucul_draw_line(_c_cv, x1, y1, x2, y2, c); 381 382 } 382 383 … … 394 395 ly[i] = lp[i].Y; 395 396 } 396 return cucul_draw_polyline(_c v, lx, ly, lp.Length - 1, c);397 return cucul_draw_polyline(_c_cv, lx, ly, lp.Length - 1, c); 397 398 } 398 399 … … 402 403 return -1; 403 404 404 return cucul_draw_polyline(_c v, lx, ly, lx.Length - 1, c);405 return cucul_draw_polyline(_c_cv, lx, ly, lx.Length - 1, c); 405 406 } 406 407 … … 411 412 public int drawThinLine(Point p1, Point p2) 412 413 { 413 return cucul_draw_thin_line(_c v, p1.X, p1.Y, p2.X, p2.Y);414 return cucul_draw_thin_line(_c_cv, p1.X, p1.Y, p2.X, p2.Y); 414 415 } 415 416 416 417 public int drawThinLine(int x1, int y1, int x2, int y2) 417 418 { 418 return cucul_draw_thin_line(_c v, x1, y1, x2, y2);419 return cucul_draw_thin_line(_c_cv, x1, y1, x2, y2); 419 420 } 420 421 … … 432 433 ly[i] = lp[i].Y; 433 434 } 434 return cucul_draw_thin_polyline(_c v, lx, ly, lp.Length - 1);435 return cucul_draw_thin_polyline(_c_cv, lx, ly, lp.Length - 1); 435 436 } 436 437 … … 440 441 return -1; 441 442 442 return cucul_draw_thin_polyline(_c v, lx, ly, lx.Length - 1);443 return cucul_draw_thin_polyline(_c_cv, lx, ly, lx.Length - 1); 443 444 } 444 445 … … 449 450 public int drawCircle(Point p, int r, uint c) 450 451 { 451 return cucul_draw_circle(_c v, p.X, p.Y, r, c);452 return cucul_draw_circle(_c_cv, p.X, p.Y, r, c); 452 453 } 453 454 454 455 public int drawCircle(int x, int y, int r, uint c) 455 456 { 456 return cucul_draw_circle(_c v, x, y, r, c);457 return cucul_draw_circle(_c_cv, x, y, r, c); 457 458 } 458 459 … … 463 464 public int drawEllipse(Point p, int a, int b, uint c) 464 465 { 465 return cucul_draw_ellipse(_c v, p.X, p.Y, a, b, c);466 return cucul_draw_ellipse(_c_cv, p.X, p.Y, a, b, c); 466 467 } 467 468 468 469 public int drawEllipse(int x, int y, int a, int b, uint c) 469 470 { 470 return cucul_draw_ellipse(_c v, x, y, a, b, c);471 return cucul_draw_ellipse(_c_cv, x, y, a, b, c); 471 472 } 472 473 … … 478 479 public int drawThinEllipse(Point p, int a, int b) 479 480 { 480 return cucul_draw_thin_ellipse(_c v, p.X, p.Y, a, b);481 return cucul_draw_thin_ellipse(_c_cv, p.X, p.Y, a, b); 481 482 } 482 483 483 484 public int drawThinEllipse(int x, int y, int a, int b) 484 485 { 485 return cucul_draw_thin_ellipse(_c v, x, y, a, b);486 return cucul_draw_thin_ellipse(_c_cv, x, y, a, b); 486 487 } 487 488 … … 492 493 public int fillEllipse(Point p, int a, int b, uint c) 493 494 { 494 return cucul_fill_ellipse(_c v, p.X, p.Y, a, b, c);495 return cucul_fill_ellipse(_c_cv, p.X, p.Y, a, b, c); 495 496 } 496 497 497 498 public int fillEllipse(int x, int y, int a, int b, uint c) 498 499 { 499 return cucul_fill_ellipse(_c v, x, y, a, b, c);500 return cucul_fill_ellipse(_c_cv, x, y, a, b, c); 500 501 } 501 502 … … 506 507 public int drawBox(Rectangle r, uint c) 507 508 { 508 return cucul_draw_box(_c v, r.X, r.Y, r.Width, r.Height, c);509 return cucul_draw_box(_c_cv, r.X, r.Y, r.Width, r.Height, c); 509 510 } 510 511 511 512 public int drawBox(int x, int y, int w, int h, uint c) 512 513 { 513 return cucul_draw_box(_c v, x, y, w, h, c);514 return cucul_draw_box(_c_cv, x, y, w, h, c); 514 515 } 515 516 … … 520 521 public int drawThinBox(Rectangle r) 521 522 { 522 return cucul_draw_thin_box(_c v, r.X, r.Y, r.Width, r.Height);523 return cucul_draw_thin_box(_c_cv, r.X, r.Y, r.Width, r.Height); 523 524 } 524 525 525 526 public int drawThinBox(int x, int y, int w, int h) 526 527 { 527 return cucul_draw_thin_box(_c v, x, y, w, h);528 return cucul_draw_thin_box(_c_cv, x, y, w, h); 528 529 } 529 530 … … 534 535 public int drawCp437Box(Rectangle r) 535 536 { 536 return cucul_draw_cp437_box(_c v, r.X, r.Y, r.Width, r.Height);537 return cucul_draw_cp437_box(_c_cv, r.X, r.Y, r.Width, r.Height); 537 538 } 538 539 539 540 public int drawCp437Box(int x, int y, int w, int h) 540 541 { 541 return cucul_draw_cp437_box(_c v, x, y, w, h);542 return cucul_draw_cp437_box(_c_cv, x, y, w, h); 542 543 } 543 544 … … 548 549 public int fillBox(Rectangle r, uint c) 549 550 { 550 return cucul_fill_box(_c v, r.X, r.Y, r.Width, r.Height, c);551 return cucul_fill_box(_c_cv, r.X, r.Y, r.Width, r.Height, c); 551 552 } 552 553 553 554 public int fillBox(int x, int y, int w, int h, uint c) 554 555 { 555 return cucul_fill_box(_c v, x, y, w, h, c);556 return cucul_fill_box(_c_cv, x, y, w, h, c); 556 557 } 557 558 … … 563 564 public int drawTriangle(Point p1, Point p2, Point p3, uint c) 564 565 { 565 return cucul_draw_triangle(_c v, p1.X, p1.Y, p2.X, p2.Y,566 return cucul_draw_triangle(_c_cv, p1.X, p1.Y, p2.X, p2.Y, 566 567 p3.X, p3.Y, c); 567 568 } … … 570 571 int x3, int y3, uint c) 571 572 { 572 return cucul_draw_triangle(_c v, x1, y1, x2, y2, x3, y3, c);573 return cucul_draw_triangle(_c_cv, x1, y1, x2, y2, x3, y3, c); 573 574 } 574 575 … … 581 582 public int drawThinTriangle(Point p1, Point p2, Point p3) 582 583 { 583 return cucul_draw_thin_triangle(_c v, p1.X, p1.Y, p2.X, p2.Y,584 return cucul_draw_thin_triangle(_c_cv, p1.X, p1.Y, p2.X, p2.Y, 584 585 p3.X, p3.Y); 585 586 } … … 588 589 int x3, int y3) 589 590 { 590 return cucul_draw_thin_triangle(_c v, x1, y1, x2, y2, x3, y3);591 return cucul_draw_thin_triangle(_c_cv, x1, y1, x2, y2, x3, y3); 591 592 } 592 593 … … 598 599 public int fillTriangle(Point p1, Point p2, Point p3, uint c) 599 600 { 600 return cucul_fill_triangle(_c v, p1.X, p1.Y, p2.X, p2.Y,601 return cucul_fill_triangle(_c_cv, p1.X, p1.Y, p2.X, p2.Y, 601 602 p3.X, p3.Y, c); 602 603 } … … 605 606 int x3, int y3, uint c) 606 607 { 607 return cucul_fill_triangle(_c v, x1, y1, x2, y2, x3, y3, c);608 return cucul_fill_triangle(_c_cv, x1, y1, x2, y2, x3, y3, c); 608 609 } 609 610 … … 615 616 public int getFrameCount() 616 617 { 617 return cucul_get_frame_count(_c v);618 return cucul_get_frame_count(_c_cv); 618 619 } 619 620 … … 623 624 public int setFrame(int f) 624 625 { 625 return cucul_set_frame(_c v, f);626 return cucul_set_frame(_c_cv, f); 626 627 } 627 628 … … 634 635 public string FrameName 635 636 { 636 get { return cucul_get_frame_name(_c v); }637 set { cucul_set_frame_name(_c v, value); }637 get { return cucul_get_frame_name(_c_cv); } 638 set { cucul_set_frame_name(_c_cv, value); } 638 639 } 639 640 … … 643 644 public int createFrame(int f) 644 645 { 645 return cucul_create_frame(_c v, f);646 return cucul_create_frame(_c_cv, f); 646 647 } 647 648 … … 651 652 public int freeFrame(int f) 652 653 { 653 return cucul_free_frame(_c v, f);654 return cucul_free_frame(_c_cv, f); 654 655 } 655 656 … … 664 665 { 665 666 GCHandle gch = GCHandle.Alloc(data, GCHandleType.Pinned); 666 int ret = cucul_dither_bitmap(_c v, r.X, r.Y, r.Width, r.Height,667 int ret = cucul_dither_bitmap(_c_cv, r.X, r.Y, r.Width, r.Height, 667 668 d._dither, gch.AddrOfPinnedObject()); 668 669 gch.Free(); … … 674 675 { 675 676 GCHandle gch = GCHandle.Alloc(data, GCHandleType.Pinned); 676 int ret = cucul_dither_bitmap(_c v, x, y, w, h, d._dither,677 int ret = cucul_dither_bitmap(_c_cv, x, y, w, h, d._dither, 677 678 gch.AddrOfPinnedObject()); 678 679 gch.Free(); … … 947 948 { 948 949 GCHandle gch = GCHandle.Alloc(buf, GCHandleType.Pinned); 949 int ret = cucul_render_canvas(cv._c v, _font,950 int ret = cucul_render_canvas(cv._c_cv, _font, 950 951 gch.AddrOfPinnedObject(), 951 952 buf.GetLength(0), buf.GetLength(1),
Note: See TracChangeset
for help on using the changeset viewer.