curses 1.4.5 → 1.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/push_gem.yml +48 -0
  3. data/History.md +3 -0
  4. data/curses.gemspec +1 -1
  5. metadata +8 -247
  6. data/vendor/PDCurses/.gitignore +0 -47
  7. data/vendor/PDCurses/.travis.yml +0 -49
  8. data/vendor/PDCurses/CMakeLists.txt +0 -68
  9. data/vendor/PDCurses/HISTORY.md +0 -2036
  10. data/vendor/PDCurses/IMPLEMNT.md +0 -327
  11. data/vendor/PDCurses/Makefile +0 -27
  12. data/vendor/PDCurses/README.md +0 -77
  13. data/vendor/PDCurses/acs_defs.h +0 -265
  14. data/vendor/PDCurses/appveyor.yml +0 -218
  15. data/vendor/PDCurses/cmake/README.md +0 -71
  16. data/vendor/PDCurses/cmake/build_dependencies.cmake +0 -178
  17. data/vendor/PDCurses/cmake/build_options.cmake +0 -25
  18. data/vendor/PDCurses/cmake/dll_version.cmake +0 -26
  19. data/vendor/PDCurses/cmake/gen_config_header.cmake +0 -43
  20. data/vendor/PDCurses/cmake/get_version.cmake +0 -17
  21. data/vendor/PDCurses/cmake/make_uninstall.cmake +0 -19
  22. data/vendor/PDCurses/cmake/project_common.cmake +0 -121
  23. data/vendor/PDCurses/cmake/resource.in.cmake +0 -52
  24. data/vendor/PDCurses/cmake/sdl2_ttf/CMakeLists.txt +0 -83
  25. data/vendor/PDCurses/cmake/target_arch.cmake +0 -36
  26. data/vendor/PDCurses/cmake/version.in.cmake +0 -73
  27. data/vendor/PDCurses/cmake/watcom_open_dos16_toolchain.cmake +0 -96
  28. data/vendor/PDCurses/cmake/watcom_open_dos32_toolchain.cmake +0 -106
  29. data/vendor/PDCurses/cmake/watcom_open_os2v2_toolchain.cmake +0 -105
  30. data/vendor/PDCurses/curses.h +0 -1846
  31. data/vendor/PDCurses/curspriv.h +0 -134
  32. data/vendor/PDCurses/demos/README.md +0 -25
  33. data/vendor/PDCurses/demos/firework.c +0 -144
  34. data/vendor/PDCurses/demos/newtest.c +0 -581
  35. data/vendor/PDCurses/demos/ozdemo.c +0 -447
  36. data/vendor/PDCurses/demos/ptest.c +0 -283
  37. data/vendor/PDCurses/demos/rain.c +0 -157
  38. data/vendor/PDCurses/demos/testcurs.c +0 -1607
  39. data/vendor/PDCurses/demos/tui.c +0 -1048
  40. data/vendor/PDCurses/demos/tui.h +0 -65
  41. data/vendor/PDCurses/demos/tuidemo.c +0 -233
  42. data/vendor/PDCurses/demos/version.c +0 -61
  43. data/vendor/PDCurses/demos/worm.c +0 -432
  44. data/vendor/PDCurses/demos/xmas.c +0 -955
  45. data/vendor/PDCurses/dos/CMakeLists.txt +0 -47
  46. data/vendor/PDCurses/dos/Makefile +0 -105
  47. data/vendor/PDCurses/dos/Makefile.bcc +0 -83
  48. data/vendor/PDCurses/dos/Makefile.dmc +0 -257
  49. data/vendor/PDCurses/dos/Makefile.msc +0 -113
  50. data/vendor/PDCurses/dos/Makefile.wcc +0 -107
  51. data/vendor/PDCurses/dos/README.md +0 -51
  52. data/vendor/PDCurses/dos/bccdos.lrf +0 -9
  53. data/vendor/PDCurses/dos/mscdos.lrf +0 -50
  54. data/vendor/PDCurses/dos/pdcclip.c +0 -132
  55. data/vendor/PDCurses/dos/pdcdisp.c +0 -135
  56. data/vendor/PDCurses/dos/pdcdos.h +0 -194
  57. data/vendor/PDCurses/dos/pdcgetsc.c +0 -98
  58. data/vendor/PDCurses/dos/pdckbd.c +0 -513
  59. data/vendor/PDCurses/dos/pdcscrn.c +0 -785
  60. data/vendor/PDCurses/dos/pdcsetsc.c +0 -101
  61. data/vendor/PDCurses/dos/pdcutil.c +0 -212
  62. data/vendor/PDCurses/libobjs.mif +0 -26
  63. data/vendor/PDCurses/makedist.mif +0 -20
  64. data/vendor/PDCurses/man/Makefile +0 -37
  65. data/vendor/PDCurses/man/README.md +0 -21
  66. data/vendor/PDCurses/man/intro.md +0 -361
  67. data/vendor/PDCurses/man/manext.c +0 -119
  68. data/vendor/PDCurses/man/sdl.md +0 -152
  69. data/vendor/PDCurses/man/sdl2.md +0 -58
  70. data/vendor/PDCurses/man/x11.md +0 -407
  71. data/vendor/PDCurses/ncurses/CMakeLists.txt +0 -66
  72. data/vendor/PDCurses/ncurses/README.md +0 -26
  73. data/vendor/PDCurses/ncurses/makefile +0 -29
  74. data/vendor/PDCurses/os2/CMakeLists.txt +0 -41
  75. data/vendor/PDCurses/os2/Makefile +0 -132
  76. data/vendor/PDCurses/os2/Makefile.bcc +0 -90
  77. data/vendor/PDCurses/os2/Makefile.wcc +0 -43
  78. data/vendor/PDCurses/os2/README.md +0 -43
  79. data/vendor/PDCurses/os2/iccos2.lrf +0 -50
  80. data/vendor/PDCurses/os2/iccos2.mak +0 -256
  81. data/vendor/PDCurses/os2/pdcclip.c +0 -188
  82. data/vendor/PDCurses/os2/pdcdisp.c +0 -93
  83. data/vendor/PDCurses/os2/pdcgetsc.c +0 -89
  84. data/vendor/PDCurses/os2/pdckbd.c +0 -521
  85. data/vendor/PDCurses/os2/pdcos2.h +0 -55
  86. data/vendor/PDCurses/os2/pdcscrn.c +0 -449
  87. data/vendor/PDCurses/os2/pdcsetsc.c +0 -112
  88. data/vendor/PDCurses/os2/pdcutil.c +0 -52
  89. data/vendor/PDCurses/panel.h +0 -56
  90. data/vendor/PDCurses/pdcurses/README.md +0 -25
  91. data/vendor/PDCurses/pdcurses/addch.c +0 -693
  92. data/vendor/PDCurses/pdcurses/addchstr.c +0 -245
  93. data/vendor/PDCurses/pdcurses/addstr.c +0 -240
  94. data/vendor/PDCurses/pdcurses/attr.c +0 -359
  95. data/vendor/PDCurses/pdcurses/beep.c +0 -68
  96. data/vendor/PDCurses/pdcurses/bkgd.c +0 -223
  97. data/vendor/PDCurses/pdcurses/border.c +0 -411
  98. data/vendor/PDCurses/pdcurses/clear.c +0 -159
  99. data/vendor/PDCurses/pdcurses/color.c +0 -298
  100. data/vendor/PDCurses/pdcurses/debug.c +0 -109
  101. data/vendor/PDCurses/pdcurses/delch.c +0 -96
  102. data/vendor/PDCurses/pdcurses/deleteln.c +0 -211
  103. data/vendor/PDCurses/pdcurses/deprec.c +0 -27
  104. data/vendor/PDCurses/pdcurses/getch.c +0 -417
  105. data/vendor/PDCurses/pdcurses/getstr.c +0 -474
  106. data/vendor/PDCurses/pdcurses/getyx.c +0 -139
  107. data/vendor/PDCurses/pdcurses/inch.c +0 -127
  108. data/vendor/PDCurses/pdcurses/inchstr.c +0 -214
  109. data/vendor/PDCurses/pdcurses/initscr.c +0 -367
  110. data/vendor/PDCurses/pdcurses/inopts.c +0 -324
  111. data/vendor/PDCurses/pdcurses/insch.c +0 -271
  112. data/vendor/PDCurses/pdcurses/insstr.c +0 -264
  113. data/vendor/PDCurses/pdcurses/instr.c +0 -246
  114. data/vendor/PDCurses/pdcurses/kernel.c +0 -259
  115. data/vendor/PDCurses/pdcurses/keyname.c +0 -157
  116. data/vendor/PDCurses/pdcurses/mouse.c +0 -438
  117. data/vendor/PDCurses/pdcurses/move.c +0 -57
  118. data/vendor/PDCurses/pdcurses/outopts.c +0 -159
  119. data/vendor/PDCurses/pdcurses/overlay.c +0 -214
  120. data/vendor/PDCurses/pdcurses/pad.c +0 -260
  121. data/vendor/PDCurses/pdcurses/panel.c +0 -633
  122. data/vendor/PDCurses/pdcurses/printw.c +0 -126
  123. data/vendor/PDCurses/pdcurses/refresh.c +0 -279
  124. data/vendor/PDCurses/pdcurses/scanw.c +0 -578
  125. data/vendor/PDCurses/pdcurses/scr_dump.c +0 -213
  126. data/vendor/PDCurses/pdcurses/scroll.c +0 -101
  127. data/vendor/PDCurses/pdcurses/slk.c +0 -591
  128. data/vendor/PDCurses/pdcurses/termattr.c +0 -182
  129. data/vendor/PDCurses/pdcurses/terminfo.c +0 -217
  130. data/vendor/PDCurses/pdcurses/touch.c +0 -163
  131. data/vendor/PDCurses/pdcurses/util.c +0 -312
  132. data/vendor/PDCurses/pdcurses/window.c +0 -569
  133. data/vendor/PDCurses/sdl1/Makefile +0 -129
  134. data/vendor/PDCurses/sdl1/Makefile.mng +0 -110
  135. data/vendor/PDCurses/sdl1/README.md +0 -31
  136. data/vendor/PDCurses/sdl1/deffont.h +0 -385
  137. data/vendor/PDCurses/sdl1/deficon.h +0 -23
  138. data/vendor/PDCurses/sdl1/pdcclip.c +0 -131
  139. data/vendor/PDCurses/sdl1/pdcdisp.c +0 -373
  140. data/vendor/PDCurses/sdl1/pdcgetsc.c +0 -30
  141. data/vendor/PDCurses/sdl1/pdckbd.c +0 -405
  142. data/vendor/PDCurses/sdl1/pdcscrn.c +0 -414
  143. data/vendor/PDCurses/sdl1/pdcsdl.h +0 -31
  144. data/vendor/PDCurses/sdl1/pdcsetsc.c +0 -64
  145. data/vendor/PDCurses/sdl1/pdcutil.c +0 -40
  146. data/vendor/PDCurses/sdl1/sdltest.c +0 -79
  147. data/vendor/PDCurses/sdl2/CMakeLists.txt +0 -76
  148. data/vendor/PDCurses/sdl2/Makefile +0 -135
  149. data/vendor/PDCurses/sdl2/Makefile.vc +0 -164
  150. data/vendor/PDCurses/sdl2/README.md +0 -34
  151. data/vendor/PDCurses/sdl2/deffont.h +0 -385
  152. data/vendor/PDCurses/sdl2/deficon.h +0 -23
  153. data/vendor/PDCurses/sdl2/pdcclip.c +0 -93
  154. data/vendor/PDCurses/sdl2/pdcdisp.c +0 -534
  155. data/vendor/PDCurses/sdl2/pdcgetsc.c +0 -30
  156. data/vendor/PDCurses/sdl2/pdckbd.c +0 -480
  157. data/vendor/PDCurses/sdl2/pdcscrn.c +0 -443
  158. data/vendor/PDCurses/sdl2/pdcsdl.h +0 -33
  159. data/vendor/PDCurses/sdl2/pdcsetsc.c +0 -67
  160. data/vendor/PDCurses/sdl2/pdcutil.c +0 -39
  161. data/vendor/PDCurses/sdl2/sdltest.c +0 -81
  162. data/vendor/PDCurses/term.h +0 -48
  163. data/vendor/PDCurses/version.mif +0 -7
  164. data/vendor/PDCurses/vt/CMakeLists.txt +0 -28
  165. data/vendor/PDCurses/vt/Makefile +0 -135
  166. data/vendor/PDCurses/vt/Makefile.bcc +0 -111
  167. data/vendor/PDCurses/vt/Makefile.dmc +0 -258
  168. data/vendor/PDCurses/vt/Makefile.vc +0 -144
  169. data/vendor/PDCurses/vt/Makefile.wcc +0 -107
  170. data/vendor/PDCurses/vt/README.md +0 -64
  171. data/vendor/PDCurses/vt/pdcclip.c +0 -20
  172. data/vendor/PDCurses/vt/pdcdisp.c +0 -284
  173. data/vendor/PDCurses/vt/pdcgetsc.c +0 -27
  174. data/vendor/PDCurses/vt/pdckbd.c +0 -394
  175. data/vendor/PDCurses/vt/pdcscrn.c +0 -434
  176. data/vendor/PDCurses/vt/pdcsetsc.c +0 -45
  177. data/vendor/PDCurses/vt/pdcutil.c +0 -43
  178. data/vendor/PDCurses/vt/pdcvt.h +0 -16
  179. data/vendor/PDCurses/watcom.mif +0 -68
  180. data/vendor/PDCurses/wincon/CMakeLists.txt +0 -27
  181. data/vendor/PDCurses/wincon/Makefile.bcc +0 -88
  182. data/vendor/PDCurses/wincon/Makefile.dmc +0 -256
  183. data/vendor/PDCurses/wincon/Makefile.lcc +0 -273
  184. data/vendor/PDCurses/wincon/Makefile.mng +0 -176
  185. data/vendor/PDCurses/wincon/Makefile.vc +0 -144
  186. data/vendor/PDCurses/wincon/Makefile.wcc +0 -51
  187. data/vendor/PDCurses/wincon/README.md +0 -85
  188. data/vendor/PDCurses/wincon/pdcclip.c +0 -174
  189. data/vendor/PDCurses/wincon/pdcdisp.c +0 -143
  190. data/vendor/PDCurses/wincon/pdcgetsc.c +0 -55
  191. data/vendor/PDCurses/wincon/pdckbd.c +0 -786
  192. data/vendor/PDCurses/wincon/pdcscrn.c +0 -717
  193. data/vendor/PDCurses/wincon/pdcsetsc.c +0 -91
  194. data/vendor/PDCurses/wincon/pdcurses.ico +0 -0
  195. data/vendor/PDCurses/wincon/pdcurses.rc +0 -28
  196. data/vendor/PDCurses/wincon/pdcutil.c +0 -41
  197. data/vendor/PDCurses/wincon/pdcwin.h +0 -31
  198. data/vendor/PDCurses/wingui/CMakeLists.txt +0 -27
  199. data/vendor/PDCurses/wingui/Makefile.bcc +0 -85
  200. data/vendor/PDCurses/wingui/Makefile.dmc +0 -259
  201. data/vendor/PDCurses/wingui/Makefile.lcc +0 -273
  202. data/vendor/PDCurses/wingui/Makefile.mng +0 -171
  203. data/vendor/PDCurses/wingui/Makefile.vc +0 -144
  204. data/vendor/PDCurses/wingui/Makefile.wcc +0 -51
  205. data/vendor/PDCurses/wingui/README.md +0 -93
  206. data/vendor/PDCurses/wingui/pdcclip.c +0 -174
  207. data/vendor/PDCurses/wingui/pdcdisp.c +0 -718
  208. data/vendor/PDCurses/wingui/pdcgetsc.c +0 -30
  209. data/vendor/PDCurses/wingui/pdckbd.c +0 -143
  210. data/vendor/PDCurses/wingui/pdcscrn.c +0 -2797
  211. data/vendor/PDCurses/wingui/pdcsetsc.c +0 -89
  212. data/vendor/PDCurses/wingui/pdcurses.ico +0 -0
  213. data/vendor/PDCurses/wingui/pdcurses.rc +0 -28
  214. data/vendor/PDCurses/wingui/pdcutil.c +0 -61
  215. data/vendor/PDCurses/wingui/pdcwin.h +0 -122
  216. data/vendor/PDCurses/x11/Makefile.in +0 -754
  217. data/vendor/PDCurses/x11/PDCurses.spec +0 -82
  218. data/vendor/PDCurses/x11/README.md +0 -62
  219. data/vendor/PDCurses/x11/ScrollBox.c +0 -319
  220. data/vendor/PDCurses/x11/ScrollBox.h +0 -51
  221. data/vendor/PDCurses/x11/ScrollBoxP.h +0 -70
  222. data/vendor/PDCurses/x11/aclocal.m4 +0 -994
  223. data/vendor/PDCurses/x11/big_icon.xbm +0 -46
  224. data/vendor/PDCurses/x11/compose.h +0 -201
  225. data/vendor/PDCurses/x11/config.guess +0 -1500
  226. data/vendor/PDCurses/x11/config.h.in +0 -100
  227. data/vendor/PDCurses/x11/config.sub +0 -1616
  228. data/vendor/PDCurses/x11/configure +0 -6700
  229. data/vendor/PDCurses/x11/configure.ac +0 -295
  230. data/vendor/PDCurses/x11/debian/changelog +0 -6
  231. data/vendor/PDCurses/x11/debian/compat +0 -1
  232. data/vendor/PDCurses/x11/debian/control +0 -11
  233. data/vendor/PDCurses/x11/debian/copyright +0 -27
  234. data/vendor/PDCurses/x11/debian/rules +0 -98
  235. data/vendor/PDCurses/x11/install-sh +0 -253
  236. data/vendor/PDCurses/x11/little_icon.xbm +0 -14
  237. data/vendor/PDCurses/x11/ncurses_cfg.h +0 -45
  238. data/vendor/PDCurses/x11/pdcclip.c +0 -173
  239. data/vendor/PDCurses/x11/pdcdisp.c +0 -85
  240. data/vendor/PDCurses/x11/pdcgetsc.c +0 -28
  241. data/vendor/PDCurses/x11/pdckbd.c +0 -104
  242. data/vendor/PDCurses/x11/pdcscrn.c +0 -258
  243. data/vendor/PDCurses/x11/pdcsetsc.c +0 -95
  244. data/vendor/PDCurses/x11/pdcutil.c +0 -52
  245. data/vendor/PDCurses/x11/pdcx11.c +0 -316
  246. data/vendor/PDCurses/x11/pdcx11.h +0 -191
  247. data/vendor/PDCurses/x11/sb.c +0 -155
  248. data/vendor/PDCurses/x11/x11.c +0 -3686
  249. data/vendor/PDCurses/x11/xcurses-config.in +0 -81
@@ -1,93 +0,0 @@
1
- PDCurses for WinGUI
2
- ==================
3
-
4
- This directory contains PDCurses source code files specific to Win32
5
- graphics mode (Win95 and all subsequent forks of Windows).
6
-
7
- Building
8
- --------
9
-
10
- (Note that the following is almost identical to the instructions
11
- for the Win32 console flavor of PDCurses.)
12
-
13
- - Choose the appropriate makefile for your compiler:
14
-
15
- Makefile.bcc - Borland C++ 4.0.2+
16
- Makefile.dmc - Digital Mars
17
- Makefile.lcc - LCC-Win32
18
- Makefile.mng - MinGW, Cygnus GNU Compiler
19
- Makefile.vc - Microsoft Visual C++ 2.0+ or later & Intel(R) compiler
20
- Makefile.wcc - Watcom 10.6+ or OpenWATCOM
21
-
22
- - Optionally, you can build in a different directory than the platform
23
- directory by setting PDCURSES_SRCDIR to point to the directory where
24
- you unpacked PDCurses, and changing to your target directory:
25
-
26
- set PDCURSES_SRCDIR=c:\pdcurses
27
-
28
- This won't work with the LCC or Digital Mars makefiles, nor will the
29
- options described below.
30
-
31
- - Build it:
32
-
33
- make -f makefilename
34
-
35
- (For Watcom, use "wmake" instead of "make"; for MSVC, "nmake".) You'll
36
- get the libraries (pdcurses.lib or .a, depending on your compiler; and
37
- panel.lib or .a), the demos (*.exe), and a lot of object files. Note
38
- that the panel library is just a copy of the main library, provided
39
- for convenience; both panel and curses functions are in the main
40
- library.
41
-
42
- You can also give the optional parameter "WIDE=Y", to build the
43
- library with wide-character (Unicode) support:
44
-
45
- make -f Makefile.mng WIDE=Y
46
-
47
- When built this way, the library is not compatible with Windows 9x,
48
- unless you also link with the Microsoft Layer for Unicode (not
49
- tested).
50
-
51
- For the Intel(R) compiler, use Makefile.vc and add ICC=Y.
52
-
53
- By default, Makefile.vc results in 64-bit code for both VC and Intel(R).
54
- Add IX86=Y to generate 32-bit code. (Other builds are 32-bit only.)
55
-
56
- Another option, "UTF8=Y", makes PDCurses ignore the system locale, and
57
- treat all narrow-character strings as UTF-8. This option has no effect
58
- unless WIDE=Y is also set. This was originally provided to get around
59
- poor support for UTF-8 in the Win32 console:
60
-
61
- make -f Makefile.mng WIDE=Y UTF8=Y
62
-
63
- WinGUI doesn't have the same limitations as the Win32 console flavor,
64
- but UTF-8 and non-UTF-8 versions are still available. If nothing else,
65
- this means that if you've built a Win32 console PDCurses DLL with any
66
- configuration, you can build a matching WinGUI DLL and swap between
67
- console or GUI PDCurses just by swapping DLLs.
68
-
69
- You can also use the optional parameter "DLL=Y" with Visual C++,
70
- MinGW or Cygwin, to build the library as a DLL:
71
-
72
- nmake -f Makefile.vc WIDE=Y DLL=Y
73
-
74
- When you build the library as a Windows DLL, you must always define
75
- PDC_DLL_BUILD when linking against it. (Or, if you only want to use
76
- the DLL, you could add this definition to your curses.h.)
77
-
78
- If cross-compiling from Linux, add the parameter `_w64=1` to get
79
- 64-bit code (default will be 32-bit).
80
-
81
- make -f Makefile.mng _w64=1 [WIDE=Y UTF8=Y DLL=Y]
82
-
83
- Distribution Status
84
- -------------------
85
-
86
- The files in this directory are released to the Public Domain.
87
-
88
- Acknowledgements
89
- ----------------
90
-
91
- Based heavily on the Win32 console flavor of PDCurses by Chris Szurgot
92
- <szurgot[at]itribe.net>, ported to Win32 GUI by Bill Gray
93
- <pluto[at]projectpluto.com>.
@@ -1,174 +0,0 @@
1
- /* Public Domain Curses */
2
-
3
- #include "pdcwin.h"
4
-
5
- /*man-start**************************************************************
6
-
7
- clipboard
8
- ---------
9
-
10
- ### Synopsis
11
-
12
- int PDC_getclipboard(char **contents, long *length);
13
- int PDC_setclipboard(const char *contents, long length);
14
- int PDC_freeclipboard(char *contents);
15
- int PDC_clearclipboard(void);
16
-
17
- ### Description
18
-
19
- PDC_getclipboard() gets the textual contents of the system's
20
- clipboard. This function returns the contents of the clipboard
21
- in the contents argument. It is the responsibility of the
22
- caller to free the memory returned, via PDC_freeclipboard().
23
- The length of the clipboard contents is returned in the length
24
- argument.
25
-
26
- PDC_setclipboard copies the supplied text into the system's
27
- clipboard, emptying the clipboard prior to the copy.
28
-
29
- PDC_clearclipboard() clears the internal clipboard.
30
-
31
- ### Return Values
32
-
33
- indicator of success/failure of call.
34
- PDC_CLIP_SUCCESS the call was successful
35
- PDC_CLIP_MEMORY_ERROR unable to allocate sufficient memory for
36
- the clipboard contents
37
- PDC_CLIP_EMPTY the clipboard contains no text
38
- PDC_CLIP_ACCESS_ERROR no clipboard support
39
-
40
- ### Portability
41
- X/Open BSD SYS V
42
- PDC_getclipboard - - -
43
- PDC_setclipboard - - -
44
- PDC_freeclipboard - - -
45
- PDC_clearclipboard - - -
46
-
47
- **man-end****************************************************************/
48
-
49
- #ifdef PDC_WIDE
50
- # define PDC_TEXT CF_UNICODETEXT
51
- #else
52
- # define PDC_TEXT CF_OEMTEXT
53
- #endif
54
-
55
- int PDC_getclipboard_handle( HANDLE *handle)
56
- {
57
- PDC_LOG(("PDC_getclipboard() - called\n"));
58
-
59
- if (!OpenClipboard(NULL))
60
- {
61
- return PDC_CLIP_ACCESS_ERROR;
62
- }
63
-
64
- if ((*handle = GetClipboardData(PDC_TEXT)) == NULL)
65
- {
66
- CloseClipboard();
67
- return PDC_CLIP_EMPTY;
68
- }
69
-
70
- return PDC_CLIP_SUCCESS;
71
- }
72
-
73
- int PDC_getclipboard(char **contents, long *length)
74
- {
75
- HANDLE handle;
76
- int rval = PDC_getclipboard_handle( &handle);
77
-
78
- if( rval == PDC_CLIP_SUCCESS)
79
- {
80
- void *tptr = GlobalLock( handle);
81
-
82
- if( tptr)
83
- {
84
- #ifdef PDC_WIDE
85
- size_t len = wcslen((wchar_t *)tptr) * 3;
86
- #else
87
- size_t len = strlen( tptr);
88
- #endif
89
-
90
- *contents = (char *)GlobalAlloc( GMEM_FIXED, len + 1);
91
-
92
- if( !*contents)
93
- rval = PDC_CLIP_MEMORY_ERROR;
94
- else
95
- {
96
- #ifdef PDC_WIDE
97
- len = PDC_wcstombs( (char *)*contents, tptr, len);
98
- #else
99
- strcpy((char *)*contents, tptr);
100
- #endif
101
- }
102
- *length = (long)len;
103
- GlobalUnlock( handle);
104
- }
105
- else
106
- rval = PDC_CLIP_MEMORY_ERROR;
107
- CloseClipboard();
108
- }
109
- return rval;
110
- }
111
-
112
- int PDC_setclipboard_raw( const char *contents, long length,
113
- const bool translate_multibyte_to_wide_char)
114
- {
115
- HGLOBAL handle;
116
- LPTSTR buff;
117
-
118
- PDC_LOG(("PDC_setclipboard() - called\n"));
119
-
120
- if (!OpenClipboard(NULL))
121
- return PDC_CLIP_ACCESS_ERROR;
122
-
123
- handle = GlobalAlloc(GMEM_MOVEABLE|GMEM_DDESHARE,
124
- (length + 1) * sizeof(TCHAR));
125
-
126
- if (!handle)
127
- return PDC_CLIP_MEMORY_ERROR;
128
-
129
- buff = GlobalLock(handle);
130
-
131
- #ifdef PDC_WIDE
132
- if( translate_multibyte_to_wide_char)
133
- PDC_mbstowcs((wchar_t *)buff, contents, length);
134
- else
135
- memcpy((char *)buff, contents, (length + 1) * sizeof( wchar_t));
136
- #else
137
- memcpy((char *)buff, contents, length);
138
- buff[length] = 0; /* ensure null termination */
139
- #endif
140
- GlobalUnlock(handle);
141
- EmptyClipboard();
142
-
143
- if( !SetClipboardData(PDC_TEXT, handle))
144
- {
145
- GlobalFree(handle);
146
- return PDC_CLIP_ACCESS_ERROR;
147
- }
148
-
149
- CloseClipboard();
150
-
151
- return PDC_CLIP_SUCCESS;
152
- }
153
-
154
- int PDC_setclipboard(const char *contents, long length)
155
- {
156
- return( PDC_setclipboard_raw( contents, length, TRUE));
157
- }
158
-
159
- int PDC_freeclipboard(char *contents)
160
- {
161
- PDC_LOG(("PDC_freeclipboard() - called\n"));
162
-
163
- GlobalFree(contents);
164
- return PDC_CLIP_SUCCESS;
165
- }
166
-
167
- int PDC_clearclipboard(void)
168
- {
169
- PDC_LOG(("PDC_clearclipboard() - called\n"));
170
-
171
- EmptyClipboard();
172
-
173
- return PDC_CLIP_SUCCESS;
174
- }