home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 2 / RISC_DISC_2.iso / pd_share / program / code / desklib / DeskLib / !DeskLib / h / PDriver < prev    next >
Encoding:
Text File  |  1995-07-17  |  3.2 KB  |  111 lines

  1.  
  2. #ifndef __dl_pdriver_h
  3. #define __dl_pdriver_h
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. #ifndef __dl_core_h
  8. #include "Core.h"
  9. #endif
  10. #ifndef __dl_wimp_h
  11. #include "Wimp.h"
  12. #endif
  13. typedef int print_job; 
  14. typedef struct
  15. {
  16. int xx;
  17. int xy;
  18. int yx;
  19. int yy;
  20. } print_transformation; 
  21. #define printdriver_POSTSCRIPT 0
  22. #define printdriver_FX80 1
  23. #define printdriver_LASERJET 2
  24. #define printdriver_INTEGREX 3 
  25. #define printdriver_FAXMODEM 4
  26. #define printdriver_DIRECTDRIVELASER 5
  27. #define printdriver_CASPELGRAPHLANG 6
  28. #define printdriver_PDUMPER 7
  29. #define printdriver_EPSONJX 99
  30. #define printdriver_STARLC10 99
  31. #define printdriver_PAINTJET 99
  32. #define printfeat_COLOUR 0x00000001
  33. #define printfeat_LIMITED 0x00000002
  34. #define printfeat_DISCRETE 0x00000004
  35. #define printfeat_NOFILL 0x00000100
  36. #define printfeat_NOTHICKNESS 0x00000200
  37. #define printfeat_NOOVERWRITE 0x00000400
  38. #define printfeat_TRANSSPRITE 0x00000800
  39. #define printfeat_NEWFONTMANAGER 0x00001000
  40. #define printfeat_SCREENDUMP 0x01000000
  41. #define printfeat_TRANSFORMS 0x02000000
  42. #define printfeat_ILLUSTRATIONS 0x04000000
  43. #define printfeat_MISCOP 0x08000000
  44. #define printfeat_SETDRIVER 0x10000000
  45. #define printfeat_DECLAREFONT 0x20000000
  46. typedef union
  47. {
  48. int value;
  49. struct
  50. {
  51. unsigned int colour : 1;
  52. unsigned int limited : 1;
  53. unsigned int discrete : 1;
  54. unsigned int filler1 : 5; 
  55. unsigned int nofill : 1;
  56. unsigned int nothickness : 1;
  57. unsigned int nooverwrite : 1;
  58. unsigned int transsprite : 1;
  59. unsigned int newfontmanager : 1;
  60. unsigned int filler2 : 3; 
  61. unsigned int filler3 : 8; 
  62. unsigned int screendump : 1;
  63. unsigned int transforms : 1;
  64. unsigned int illustrations : 1;
  65. unsigned int miscop : 1;
  66. unsigned int setdriver : 1;
  67. unsigned int declarefont : 1;
  68. unsigned int filler4 : 2; 
  69. } data;
  70. } print_features;
  71. typedef struct
  72. {
  73. unsigned int version : 16;
  74. int drivertype : 16;
  75. wimp_point resolution;
  76. print_features features;
  77. char *description;
  78. wimp_point halftone_res;
  79. int id_number;
  80. } printer_info; 
  81. os_error *PDriver_Info(printer_info *block);
  82. extern char *PDriver_PrinterName(void);
  83. os_error *PDriver_CheckFeatures(print_features mask, print_features value);
  84. os_error *PDriver_PageSize(wimp_point *size, wimp_rect *printable);
  85. os_error *PDriver_SelectJob(print_job newjob, char *title, print_job *oldjob);
  86. os_error *PDriver_CurrentJob(print_job *current);
  87. os_error *PDriver_EndJob(print_job job);
  88. os_error *PDriver_AbortJob(print_job job);
  89. os_error *PDriver_GiveRectangle(int rectangle_id, wimp_rect *rectangle,
  90. print_transformation *matrix,
  91. wimp_point *position, int background_colour);
  92. os_error *PDriver_DrawPage(int copies, wimp_rect *rectangle_to_print,
  93. int sequence_no, char *page,
  94. int *finished, int *rectangle_id);
  95. os_error *PDriver_GetRectangle(wimp_rect *rectangle_to_print,
  96. int *finished, int *rectangle_id);
  97. os_error *PDriver_CancelJob(print_job job);
  98. os_error *PDriver_ScreenDump(print_job job);
  99. os_error *PDriver_EnumerateJobs(print_job *handle);
  100. os_error *PDriver_CancelJobWithError(print_job job, os_error *error);
  101. os_error *PDriver_SelectIllustration(print_job newjob, char *title,
  102. print_job *oldjob);
  103. os_error *PDriver_InsertIllustration(int illustration_handle, void *drawpath,
  104. wimp_point *bottom_left,
  105. wimp_point *bottom_right,
  106. wimp_point *top_left);
  107. #ifdef __cplusplus
  108. }
  109. #endif
  110. #endif
  111.