<?xml version="1.0"?>
<fpdoc-descriptions>
  <package name="nvidia-widgets">
    <module name="nvContext">
      <element name="UIContext.reshape">
        <short>UI method for processing window size events</short>
      </element>
      <element name="UIContext.isOnFocus">
        <short>Check if the UI is currently on Focus</short>
      </element>
      <element name="UIContext.mouse">
        <short>UI method for processing mouse events</short>
      </element>
      <element name="UIContext.mouseMotion">
        <short>UI method for processing mouse motion events</short>
      </element>
      <element name="UIContext.keyboard">
        <short>UI method for processing key events</short>
      </element>
      <element name="UIContext._begin">
        <short>UI method for entering UI processing mode</short>
        <descr>This function must be used to begin the UI processing </descr>
      </element>
      <element name="UIContext._end">
        <short>UI method for leaving UI processing mode</short>
        <descr>This function must be used to end the UI processing</descr>
      </element>
      <element name="UIContext.doLabel">
        <short>UI method for drawing a static text label</short>
        <descr>
          <p>The label displays a non interactive text.</p>
          <p>The style flag enables to draw the label in two distinct styles. The first one is default <var>(style = 0)</var> and displays the label simply as text. The alternative <var>(style = 1)</var> displays the label with a frame around it. An example is shown in the following figure.</p>
          <img file="label.png"/>
          <p>The <var>Text</var> variable can have multiple lines.</p>
          <p>Example code how to implement a label</p>
          <code>none.Rect(0, 0);
ui.beginGroup(GroupFlags_GrowDownFromRight);
  ui.doLabel(none, Text);
ui.endGroup;
</code>
        </descr>
      </element>
      <element name="UIContext.doLabel.r">
        <short>optionally provides a location and size for the label</short>
      </element>
      <element name="UIContext.doLabel.Text">
        <short>Text to display for the label (can have several lines)</short>
      </element>
      <element name="UIContext.doLabel.style">
        <short>optional style flag to modify the look</short>
      </element>
      <element name="UIContext.doButton">
        <short>UI method for rendering and processing a push button</short>
        <descr>
          <p>The button method does only take a text and state variable. This variable is modified if the button is pressed or depressed. When a state change occurs the method function returns <var>True</var>.</p>
          <img file="button.png"/>
          <p>Example code how to implement a button</p>
          <code>none.Rect(0, 0);
ui.beginGroup(GroupFlags_GrowDownFromRight);
  if ui.doButton(none, 'Apply') then
  begin
    //code to apply your changes
  end;
ui.endGroup;
</code>
        </descr>
      </element>
      <element name="UIContext.doButton.r">
        <short>optionally provides a location and size for the button</short>
      </element>
      <element name="UIContext.doButton.Text">
        <short>text to display on the button</short>
      </element>
      <element name="UIContext.doButton.state">
        <short>whether the button is depressed</short>
        <descr>if state is NULL; the button behave like a touch button else; the button behave like a toggle button</descr>
      </element>
      <element name="UIContext.doButton.style">
        <short>optional style flag to modify the look</short>
      </element>
      <element name="UIContext.doCheckButton">
        <short>UI method for rendering and processing a check button</short>
        <descr>
          <p>Check button behaves similarly as a toggle button used to display and edit a boolean property.</p>
          <img file="checkbutton.png"/>
        </descr>
      </element>
      <element name="UIContext.doCheckButton.r">
        <short>optionally provides a location and size for the button</short>
      </element>
      <element name="UIContext.doCheckButton.Text">
        <short>text to display on the button</short>
      </element>
      <element name="UIContext.doCheckButton.state">
        <short>whether the check button is checked or not</short>
        <descr>if state is NULL; the button behave like if a touch button unchecked</descr>
      </element>
      <element name="UIContext.doCheckButton.style">
        <short>optional style flag to modify the look</short>
      </element>
      <element name="UIContext.doRadioButton">
        <short>UI method for rendering and processing a radio button</short>
        <descr>
          <p>Radio buttons are typically used in groups to display and edit the possible reference values taken by an integer value.
</p>
          <p>One radio button is representing a possible reference value taken by the current value.
It is displaying a boolean state true if the current value is equal to the reference value.</p>
          <img file="radiobutton.png"/>
        </descr>
      </element>
      <element name="UIContext.doRadioButton.reference">
        <short>The reference int value represented by this radio button.</short>
      </element>
      <element name="UIContext.doRadioButton.r">
        <short>optionally provides a location and size for the button</short>
      </element>
      <element name="UIContext.doRadioButton.Text">
        <short>text to display on the button</short>
      </element>
      <element name="UIContext.doRadioButton.Value">
        <short>The value parameter compared to the reference value parameter.</short>
        <descr>if value is NULL; the radio button is off</descr>
      </element>
      <element name="UIContext.doRadioButton.style">
        <short>optional style flag to modify the look </short>
      </element>
      <element name="UIContext.doRadioButton.Result">
        <short>True if the radio button value changed</short>
      </element>
      <element name="UIContext.doCheckButton.Result">
        <short>True if the check button state changed</short>
      </element>
      <element name="UIContext.doHorizontalSlider">
        <short>UI method for rendering and processing a horizontal slider</short>
        <descr>
          <p>Horizontal slider is used to edit and display a scalar value in the specified range [min; max].</p>
          <img file="horizontal_slider.png"/>
        </descr>
      </element>
      <element name="UIContext.doHorizontalSlider.aRect">
        <short>optionally provides a location and size for the widget</short>
      </element>
      <element name="UIContext.doHorizontalSlider.min">
        <short>min bound of the varying range of the value</short>
      </element>
      <element name="UIContext.doHorizontalSlider.max">
        <short>max bound of the varying range of the value</short>
      </element>
      <element name="UIContext.doHorizontalSlider.Value">
        <short>the value edited by the widget</short>
        <descr>if value is NULL; the value is set to min</descr>
      </element>
      <element name="UIContext.doHorizontalSlider.style">
        <short>optional style flag to modify the look</short>
      </element>
      <element name="UIContext.doHorizontalSlider.Result">
        <short>True if the slider value changed</short>
      </element>
      <element name="UIContext.doTextureView">
        <short>UI method for drawing a texture view</short>
        <descr>
          <p>Several parameters control the equation used to display the texel</p>
          <code>texel = texture2DFetch(...);
pixel = texelSwizzling( texel * texelScale + texelOffset );
</code>
          <img file="textureview.bmp"/>
        </descr>
      </element>
      <element name="UIContext.doTextureView.aRect">
        <short>provides a location and size for the texture view</short>
      </element>
      <element name="UIContext.doTextureView.texID">
        <short>texture identifier (Graphics API specific)</short>
      </element>
      <element name="UIContext.doTextureView.zoomRect">
        <short>rectangle area of the texture displayed</short>
      </element>
      <element name="UIContext.doTextureView.mipLevel">
        <short>mip Level of the texture displayed</short>
      </element>
      <element name="UIContext.doTextureView.texelScale">
        <short>scale applied to the texel fetch</short>
      </element>
      <element name="UIContext.doTextureView.texelOffset">
        <short>offset applied to the texel after scale</short>
      </element>
      <element name="UIContext.doTextureView.style">
        <short>optional style flag to modify the look</short>
      </element>
      <element name="UIContext.getPainter">
        <short>Active widget painter</short>
      </element>
      <element name="UIContext">
        <short>Basic UI context</short>
      </element>
      <element name="UIContext.beginGroup">
        <short>Begin grouping section of UI objects</short>
      </element>
      <short>User Interface library</short>
      <element name="UIContext.doListItem">
        <short>List item widget</short>
        <descr>
          <img file="listitem.png"/>
        </descr>
      </element>
      <element name="UIContext.doListBox">
        <short>Listbox widget</short>
        <descr>
          <img file="listbox.png"/>
        </descr>
      </element>
      <element name="UIContext.doComboBox">
        <short>Combobox widget</short>
        <descr>
          <img file="combobox.png"/>
        </descr>
      </element>
      <element name="UIContext.doLineEdit">
        <short>Line edit widget</short>
        <descr>
          <img file="line_edit.png"/>
        </descr>
      </element>
      <element name="UIContext.beginFrame">
        <short>Frame positioning section</short>
        <descr>
          <img file="frame.png"/>
        </descr>
      </element>
      <element name="UIContext.endFrame">
        <short>Frame positioning widget</short>
        <descr>
          <img file="frame.png"/>
        </descr>
      </element>
      <element name="UIContext.beginPanel">
        <short>Panel positioning widget</short>
        <descr>
          <img file="panel.png"/>
        </descr>
      </element>
      <element name="UIContext.endPanel">
        <short>Panel positioning widget</short>
        <descr>
          <img file="panel.png"/>
        </descr>
      </element>
    </module>
    <short>NVIDIA widget library</short>
    <descr>
      <p>This library is originally based on the NVIDIA widget library. NVIDIA Widgets is the 
<url href="https://mollyrocket.com/forums/viewforum.php?f=10">immediate mode graphical user interface</url> toolkit used by the 
<url href="http://developer.nvidia.com/object/sdk_home.html">NVIDIA SDK samples</url>.
</p>
      <p>Originally ported to FPC by Darius Blaszyk in June 2011.</p>
      <p>This library is distributed under the <url href="http://www.opensource.org/licenses/mit-license.php">MIT</url> license, as the original library was.</p>
      <p>The original code can be found here: <url href="http://code.google.com/p/nvidia-widgets/"/>
      </p>
      <img file="nvwidgets.png" caption="nvidia-widgets class chart"/>
      <p>For more information see the <url href="http://wiki.lazarus.freepascal.org/nvidia-widgets">Lazarus wiki</url>.</p>
    </descr>
  </package>
</fpdoc-descriptions>
