<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE erlref SYSTEM "erlref.dtd">

<!-- THIS FILE IS GENERATED DO NOT EDIT -->


<erlref>
<header>
  <copyright>
    <year>2020</year>
    <holder>Ericsson AB. All Rights Reserved.</holder></copyright>
  <legalnotice>
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.

  </legalnotice>
  <title>wx_misc</title>
</header>
<module>wx_misc</module>
<modulesummary>Miscellaneous functions.</modulesummary>
<description><p>Miscellaneous functions.</p></description>
<funcs>
  <func>
    <name name="displaySize" arity="0" clause_i="1" since=""/>
    <fsummary>Returns the display size in pixels. </fsummary>
    <desc><p>Returns the display size in pixels. 
      </p><p>Note: Use of this function is not recommended in the new code as it only works for the primary display. Use <seemfa marker="wxDisplay#getGeometry/1"><c>wxDisplay:getGeometry/1</c></seemfa> to retrieve the size of the appropriate display instead.
      </p><p> Either of output pointers can be NULL if the caller is not interested in the corresponding value.
      </p><p>See: <c>wxGetDisplaySize()</c> (not implemented in wx), <seeerl marker="wxDisplay"><c>wxDisplay</c></seeerl>
      </p></desc>
  </func>
  
  <func>
    <name name="setCursor" arity="1" clause_i="1" since=""/>
    <fsummary>Globally sets the cursor; only has an effect on Windows, Mac and GTK+. </fsummary>
    <desc><p>Globally sets the cursor; only has an effect on Windows, Mac and GTK+. 
      </p><p>You should call this function with wxNullCursor to restore the system cursor.
      </p><p>See: <seeerl marker="wxCursor"><c>wxCursor</c></seeerl>, <seemfa marker="wxWindow#setCursor/2"><c>wxWindow:setCursor/2</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="getKeyState" arity="1" clause_i="1" since=""/>
    <fsummary>For normal keys, returns true if the specified key is currently down. </fsummary>
    <desc><p>For normal keys, returns true if the specified key is currently down. 
      </p><p>For togglable keys (Caps Lock, Num Lock and Scroll Lock), returns true if the key is toggled such that its LED indicator is lit. There is currently no way to test whether togglable keys are up or down.
      </p><p>Even though there are virtual key codes defined for mouse buttons, they cannot be used with this function currently.
      </p><p>In wxGTK, this function can be only used with modifier keys (<c>WXK_ALT</c>, <c>WXK_CONTROL</c> and <c>WXK_SHIFT</c>) when not using X11 backend currently.
      </p></desc>
  </func>
  
  <func>
    <name name="getMousePosition" arity="0" clause_i="1" since=""/>
    <fsummary>Returns the mouse position in screen coordinates. </fsummary>
    <desc><p>Returns the mouse position in screen coordinates. 
      </p></desc>
  </func>
  
  <func>
    <name name="getMouseState" arity="0" clause_i="1" since=""/>
    <fsummary>Returns the current state of the mouse. </fsummary>
    <desc><p>Returns the current state of the mouse. 
      </p><p>Returns a <seetype marker="wx#wx_wxMouseState"><c>wx_wxMouseState()</c></seetype> instance that contains the current position of the mouse pointer in screen coordinates, as well as boolean values indicating the up/down status of the mouse buttons and the modifier keys.
      </p></desc>
  </func>
  
  <func>
    <name name="setDetectableAutoRepeat" arity="1" clause_i="1" since=""/>
    <fsummary>Don't synthesize KeyUp events holding down a key and producing KeyDown events with autorepeat. </fsummary>
    <desc><p>Don't synthesize KeyUp events holding down a key and producing KeyDown events with autorepeat. 
      </p><p>On by default and always on in wxMSW. 
      </p></desc>
  </func>
  
  <func>
    <name name="bell" arity="0" clause_i="1" since=""/>
    <fsummary>Ring the system bell. </fsummary>
    <desc><p>Ring the system bell. 
      </p><p>Note: This function is categorized as a GUI one and so is not thread-safe.
      </p></desc>
  </func>
  
  <func>
    <name name="findMenuItemId" arity="3" clause_i="1" since=""/>
    <fsummary>Find a menu item identifier associated with the given frame's menu bar. </fsummary>
    <desc><p>Find a menu item identifier associated with the given frame's menu bar. 
      </p></desc>
  </func>
  
  <func>
    <name name="findWindowAtPoint" arity="1" clause_i="1" since=""/>
    <fsummary>Find the deepest window at the given mouse position in screen coordinates, returning the window if found, or NULL if not. </fsummary>
    <desc><p>Find the deepest window at the given mouse position in screen coordinates, returning the window if found, or NULL if not. 
      </p><p>This function takes child windows at the given position into account even if they are disabled. The hidden children are however skipped by it.
      </p></desc>
  </func>
  
  <func>
    <name name="beginBusyCursor" arity="0" clause_i="1" since=""/>
    <fsummary>See: <c>beginBusyCursor/1</c></fsummary>
  </func>
  
  <func>
    <name name="beginBusyCursor" arity="1" clause_i="1" since=""/>
    <fsummary>Changes the cursor to the given cursor for all windows in the application. </fsummary>
    <desc><p>Changes the cursor to the given cursor for all windows in the application. 
      </p><p>Use <seemfa marker="#endBusyCursor/0"><c>endBusyCursor/0</c></seemfa> to revert the cursor back to its previous state. These two calls can be nested, and a counter ensures that only the outer calls take effect.
      </p><p>See: <seemfa marker="#isBusy/0"><c>isBusy/0</c></seemfa>, <c>wxBusyCursor</c> (not implemented in wx)
      </p></desc>
  </func>
  
  <func>
    <name name="endBusyCursor" arity="0" clause_i="1" since=""/>
    <fsummary>Changes the cursor back to the original cursor, for all windows in the application. </fsummary>
    <desc><p>Changes the cursor back to the original cursor, for all windows in the application. 
      </p><p>Use with <seemfa marker="#beginBusyCursor/1"><c>beginBusyCursor/1</c></seemfa>.
      </p><p>See: <seemfa marker="#isBusy/0"><c>isBusy/0</c></seemfa>, <c>wxBusyCursor</c> (not implemented in wx)
      </p></desc>
  </func>
  
  <func>
    <name name="isBusy" arity="0" clause_i="1" since=""/>
    <fsummary>Returns true if between two <c>beginBusyCursor/1</c> and <c>endBusyCursor/0</c> calls. </fsummary>
    <desc><p>Returns true if between two <seemfa marker="#beginBusyCursor/1"><c>beginBusyCursor/1</c></seemfa> and <seemfa marker="#endBusyCursor/0"><c>endBusyCursor/0</c></seemfa> calls. 
      </p><p>See: <c>wxBusyCursor</c> (not implemented in wx)
      </p></desc>
  </func>
  
  <func>
    <name name="shutdown" arity="0" clause_i="1" since=""/>
    <fsummary>See: <c>shutdown/1</c></fsummary>
  </func>
  
  <func>
    <name name="shutdown" arity="1" clause_i="1" since=""/>
    <fsummary>This function shuts down or reboots the computer depending on the value of the <c>flags</c>. </fsummary>
    <desc><p>This function shuts down or reboots the computer depending on the value of the <c>flags</c>. 
      </p><p>Note: Note that performing the shutdown requires the corresponding access rights (superuser under Unix, SE_SHUTDOWN privilege under Windows) and that this function is only implemented under Unix and MSW.
      </p><p>Return: true on success, false if an error occurred.
      </p></desc>
  </func>
  
  <func>
    <name name="shell" arity="0" clause_i="1" since=""/>
    <fsummary>See: <c>shell/1</c></fsummary>
  </func>
  
  <func>
    <name name="shell" arity="1" clause_i="1" since=""/>
    <fsummary>Executes a command in an interactive shell window. </fsummary>
    <desc><p>Executes a command in an interactive shell window. 
      </p><p>If no command is specified, then just the shell is spawned.
      </p><p>See: <c>wxExecute()</c> (not implemented in wx), <url href="https://docs.wxwidgets.org/3.1/page_samples.html#page_samples_exec">Examples</url>
      </p></desc>
  </func>
  
  <func>
    <name name="launchDefaultBrowser" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>launchDefaultBrowser/2</c></fsummary>
  </func>
  
  <func>
    <name name="launchDefaultBrowser" arity="2" clause_i="1" since=""/>
    <fsummary>Opens the <c>url</c> in user's default browser. </fsummary>
    <desc><p>Opens the <c>url</c> in user's default browser. 
      </p><p>If the <c>flags</c> parameter contains <c>wxBROWSER_NEW_WINDOW</c> flag, a new window is opened for the URL (currently this is only supported under Windows).
      </p><p>And unless the <c>flags</c> parameter contains <c>wxBROWSER_NOBUSYCURSOR</c> flag, a busy cursor is shown while the browser is being launched (using <c>wxBusyCursor</c> (not implemented in wx)).
      </p><p>The parameter <c>url</c> is interpreted as follows:
      </p><p>Returns true if the application was successfully launched.
      </p><p>Note: For some configurations of the running user, the application which is launched to open the given URL may be URL-dependent (e.g. a browser may be used for local URLs while another one may be used for remote URLs).
      </p><p>See: <c>wxLaunchDefaultApplication()</c> (not implemented in wx), <c>wxExecute()</c> (not implemented in wx)
      </p></desc>
  </func>
  
  <func>
    <name name="getEmailAddress" arity="0" clause_i="1" since=""/>
    <fsummary>Copies the user's email address into the supplied buffer, by concatenating the values returned by <c>wxGetFullHostName()</c> (not implemented in wx) and <c>getUserId/0</c>. </fsummary>
    <desc><p>Copies the user's email address into the supplied buffer, by concatenating the values returned by <c>wxGetFullHostName()</c> (not implemented in wx) and <seemfa marker="#getUserId/0"><c>getUserId/0</c></seemfa>. 
      </p><p>Return: true if successful, false otherwise.
      </p></desc>
  </func>
  
  <func>
    <name name="getUserId" arity="0" clause_i="1" since=""/>
    <fsummary>This function returns the "user id" also known as "login name" under Unix (i.e. </fsummary>
    <desc><p>This function returns the "user id" also known as "login name" under Unix (i.e. 
      </p><p>something like "jsmith"). It uniquely identifies the current user (on this system). Under Windows or NT, this function first looks in the environment variables USER and LOGNAME; if neither of these is found, the entry <c>UserId</c> in the <c>wxWidgets</c> section of the WIN.INI file is tried.
      </p><p>Return: The login name if successful or an empty string otherwise.
      </p><p>See: <c>wxGetUserName()</c> (not implemented in wx)
      </p></desc>
  </func>
  
  <func>
    <name name="getHomeDir" arity="0" clause_i="1" since=""/>
    <fsummary>Return the (current) user's home directory. </fsummary>
    <desc><p>Return the (current) user's home directory. 
      </p><p>See: <c>wxGetUserHome()</c> (not implemented in wx), <c>wxStandardPaths</c> (not implemented in wx)
      </p></desc>
  </func>
  
  <func>
    <name name="newId" arity="0" clause_i="1" since=""/>
    <fsummary/>
    <desc><p>Deprecated: Ids generated by it can conflict with the Ids defined by the user code, use <c>wxID_ANY</c> to assign ids which are guaranteed to not conflict with the user-defined ids for the controls and menu items you create instead of using this function.
      
      </p><p>Generates an integer identifier unique to this run of the program.
      </p></desc>
  </func>
  
  <func>
    <name name="registerId" arity="1" clause_i="1" since=""/>
    <fsummary>Ensures that Ids subsequently generated by <c>newId/0</c> do not clash with the given <c>id</c>. </fsummary>
    <desc><p>Ensures that Ids subsequently generated by <seemfa marker="#newId/0"><c>newId/0</c></seemfa> do not clash with the given <c>id</c>. 
      </p></desc>
  </func>
  
  <func>
    <name name="getCurrentId" arity="0" clause_i="1" since=""/>
    <fsummary>Returns the current id. </fsummary>
    <desc><p>Returns the current id. 
      </p></desc>
  </func>
  
  <func>
    <name name="getOsDescription" arity="0" clause_i="1" since=""/>
    <fsummary>Returns the string containing the description of the current platform in a user-readable form. </fsummary>
    <desc><p>Returns the string containing the description of the current platform in a user-readable form. 
      </p><p>For example, this function may return strings like "Windows 10 (build 10240), 64-bit edition" or "Linux 4.1.4 i386".
      </p><p>See: <c>wxGetOsVersion()</c> (not implemented in wx)
      </p></desc>
  </func>
  
  <func>
    <name name="isPlatformLittleEndian" arity="0" clause_i="1" since=""/>
    <fsummary>Returns true if the current platform is little endian (instead of big endian). </fsummary>
    <desc><p>Returns true if the current platform is little endian (instead of big endian). 
      </p><p>The check is performed at run-time.
      </p></desc>
  </func>
  
  <func>
    <name name="isPlatform64Bit" arity="0" clause_i="1" since=""/>
    <fsummary>Returns true if the operating system the program is running under is 64 bit. </fsummary>
    <desc><p>Returns true if the operating system the program is running under is 64 bit. 
      </p><p>The check is performed at run-time and may differ from the value available at compile-time (at compile-time you can just check if <c>sizeof(void*) == 8</c>) since the program could be running in emulation mode or in a mixed 32/64 bit system (bi-architecture operating system).
      </p><p>Note: This function is not 100% reliable on some systems given the fact that there isn't always a standard way to do a reliable check on the OS architecture.
      </p></desc>
  </func>
  </funcs>
</erlref>
