1(* 2 Copyright (c) 2001, 2015 3 David C.J. Matthews 4 5 This library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License version 2.1 as published by the Free Software Foundation. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Lesser General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public 15 License along with this library; if not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17*) 18structure WinSystem : 19 sig 20 type SystemMetrics 21 val SM_ARRANGE : SystemMetrics 22 val SM_CLEANBOOT : SystemMetrics 23 val SM_CMOUSEBUTTONS : SystemMetrics 24 val SM_CXBORDER : SystemMetrics 25 val SM_CXCURSOR : SystemMetrics 26 val SM_CXDLGFRAME : SystemMetrics 27 val SM_CXDOUBLECLK : SystemMetrics 28 val SM_CXDRAG : SystemMetrics 29 val SM_CXEDGE : SystemMetrics 30 val SM_CXFIXEDFRAME : SystemMetrics 31 val SM_CXFRAME : SystemMetrics 32 val SM_CXFULLSCREEN : SystemMetrics 33 val SM_CXHSCROLL : SystemMetrics 34 val SM_CXHTHUMB : SystemMetrics 35 val SM_CXICON : SystemMetrics 36 val SM_CXICONSPACING : SystemMetrics 37 val SM_CXMAXIMIZED : SystemMetrics 38 val SM_CXMAXTRACK : SystemMetrics 39 val SM_CXMENUCHECK : SystemMetrics 40 val SM_CXMENUSIZE : SystemMetrics 41 val SM_CXMIN : SystemMetrics 42 val SM_CXMINIMIZED : SystemMetrics 43 val SM_CXMINSPACING : SystemMetrics 44 val SM_CXMINTRACK : SystemMetrics 45 val SM_CXSCREEN : SystemMetrics 46 val SM_CXSIZE : SystemMetrics 47 val SM_CXSIZEFRAME : SystemMetrics 48 val SM_CXSMICON : SystemMetrics 49 val SM_CXSMSIZE : SystemMetrics 50 val SM_CXVSCROLL : SystemMetrics 51 val SM_CYBORDER : SystemMetrics 52 val SM_CYCAPTION : SystemMetrics 53 val SM_CYCURSOR : SystemMetrics 54 val SM_CYDLGFRAME : SystemMetrics 55 val SM_CYDOUBLECLK : SystemMetrics 56 val SM_CYDRAG : SystemMetrics 57 val SM_CYEDGE : SystemMetrics 58 val SM_CYFIXEDFRAME : SystemMetrics 59 val SM_CYFRAME : SystemMetrics 60 val SM_CYFULLSCREEN : SystemMetrics 61 val SM_CYHSCROLL : SystemMetrics 62 val SM_CYICON : SystemMetrics 63 val SM_CYICONSPACING : SystemMetrics 64 val SM_CYKANJIWINDOW : SystemMetrics 65 val SM_CYMAXIMIZED : SystemMetrics 66 val SM_CYMAXTRACK : SystemMetrics 67 val SM_CYMENU : SystemMetrics 68 val SM_CYMENUCHECK : SystemMetrics 69 val SM_CYMENUSIZE : SystemMetrics 70 val SM_CYMIN : SystemMetrics 71 val SM_CYMINIMIZED : SystemMetrics 72 val SM_CYMINSPACING : SystemMetrics 73 val SM_CYMINTRACK : SystemMetrics 74 val SM_CYSCREEN : SystemMetrics 75 val SM_CYSIZE : SystemMetrics 76 val SM_CYSIZEFRAME : SystemMetrics 77 val SM_CYSMCAPTION : SystemMetrics 78 val SM_CYSMICON : SystemMetrics 79 val SM_CYSMSIZE : SystemMetrics 80 val SM_CYVSCROLL : SystemMetrics 81 val SM_CYVTHUMB : SystemMetrics 82 val SM_DBCSENABLED : SystemMetrics 83 val SM_DEBUG : SystemMetrics 84 val SM_MENUDROPALIGNMENT : SystemMetrics 85 val SM_MIDEASTENABLED : SystemMetrics 86 val SM_MOUSEPRESENT : SystemMetrics 87 val SM_MOUSEWHEELPRESENT : SystemMetrics 88 val SM_NETWORK : SystemMetrics 89 val SM_PENWINDOWS : SystemMetrics 90 val SM_RESERVED1 : SystemMetrics 91 val SM_RESERVED2 : SystemMetrics 92 val SM_RESERVED3 : SystemMetrics 93 val SM_RESERVED4 : SystemMetrics 94 val SM_SECURE : SystemMetrics 95 val SM_SHOWSOUNDS : SystemMetrics 96 val SM_SLOWMACHINE : SystemMetrics 97 val SM_SWAPBUTTON : SystemMetrics 98 val GetSystemMetrics : SystemMetrics -> int 99 end 100 = 101struct 102local 103 open Foreign 104 open Base 105in 106 abstype SystemMetrics = ABS of int 107 with 108 val SM_CXSCREEN = ABS 0 109 val SM_CYSCREEN = ABS 1 110 val SM_CXVSCROLL = ABS 2 111 val SM_CYHSCROLL = ABS 3 112 val SM_CYCAPTION = ABS 4 113 val SM_CXBORDER = ABS 5 114 val SM_CYBORDER = ABS 6 115 val SM_CXDLGFRAME = ABS 7 116 val SM_CYDLGFRAME = ABS 8 117 val SM_CYVTHUMB = ABS 9 118 val SM_CXHTHUMB = ABS 10 119 val SM_CXICON = ABS 11 120 val SM_CYICON = ABS 12 121 val SM_CXCURSOR = ABS 13 122 val SM_CYCURSOR = ABS 14 123 val SM_CYMENU = ABS 15 124 val SM_CXFULLSCREEN = ABS 16 125 val SM_CYFULLSCREEN = ABS 17 126 val SM_CYKANJIWINDOW = ABS 18 127 val SM_MOUSEPRESENT = ABS 19 128 val SM_CYVSCROLL = ABS 20 129 val SM_CXHSCROLL = ABS 21 130 val SM_DEBUG = ABS 22 131 val SM_SWAPBUTTON = ABS 23 132 val SM_RESERVED1 = ABS 24 133 val SM_RESERVED2 = ABS 25 134 val SM_RESERVED3 = ABS 26 135 val SM_RESERVED4 = ABS 27 136 val SM_CXMIN = ABS 28 137 val SM_CYMIN = ABS 29 138 val SM_CXSIZE = ABS 30 139 val SM_CYSIZE = ABS 31 140 val SM_CXFRAME = ABS 32 141 val SM_CYFRAME = ABS 33 142 val SM_CXMINTRACK = ABS 34 143 val SM_CYMINTRACK = ABS 35 144 val SM_CXDOUBLECLK = ABS 36 145 val SM_CYDOUBLECLK = ABS 37 146 val SM_CXICONSPACING = ABS 38 147 val SM_CYICONSPACING = ABS 39 148 val SM_MENUDROPALIGNMENT = ABS 40 149 val SM_PENWINDOWS = ABS 41 150 val SM_DBCSENABLED = ABS 42 151 val SM_CMOUSEBUTTONS = ABS 43 152 val SM_SECURE = ABS 44 153 val SM_CXEDGE = ABS 45 154 val SM_CYEDGE = ABS 46 155 val SM_CXMINSPACING = ABS 47 156 val SM_CYMINSPACING = ABS 48 157 val SM_CXSMICON = ABS 49 158 val SM_CYSMICON = ABS 50 159 val SM_CYSMCAPTION = ABS 51 160 val SM_CXSMSIZE = ABS 52 161 val SM_CYSMSIZE = ABS 53 162 val SM_CXMENUSIZE = ABS 54 163 val SM_CYMENUSIZE = ABS 55 164 val SM_ARRANGE = ABS 56 165 val SM_CXMINIMIZED = ABS 57 166 val SM_CYMINIMIZED = ABS 58 167 val SM_CXMAXTRACK = ABS 59 168 val SM_CYMAXTRACK = ABS 60 169 val SM_CXMAXIMIZED = ABS 61 170 val SM_CYMAXIMIZED = ABS 62 171 val SM_NETWORK = ABS 63 172 val SM_CLEANBOOT = ABS 67 173 val SM_CXDRAG = ABS 68 174 val SM_CYDRAG = ABS 69 175 val SM_SHOWSOUNDS = ABS 70 176 val SM_CXMENUCHECK = ABS 71 177 val SM_CYMENUCHECK = ABS 72 178 val SM_SLOWMACHINE = ABS 73 179 val SM_MIDEASTENABLED = ABS 74 180 val SM_MOUSEWHEELPRESENT = ABS 75 181 182 val SM_CXFIXEDFRAME = SM_CXDLGFRAME 183 val SM_CYFIXEDFRAME = SM_CYDLGFRAME 184 val SM_CXSIZEFRAME = SM_CXFRAME 185 val SM_CYSIZEFRAME = SM_CYFRAME 186 187 local 188 val getSystemMetrics = winCall1 (user "GetSystemMetrics") (cInt) cInt 189 in 190 fun GetSystemMetrics(ABS i) = getSystemMetrics i 191 end 192 end 193end 194end; 195