Class Timer

All Implemented Interfaces:
Proxy

@Generated("org.javagi.JavaGI") public class Timer extends ProxyInstance

GTimer records a start time, and counts microseconds elapsed since that time.

This is done somewhat differently on different platforms, and can be tricky to get exactly right, so GTimer provides a portable/convenient interface.

  • Constructor Summary

    Constructors
    Constructor
    Description
    Create a Timer proxy instance for the provided memory address.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Resumes a timer that has previously been stopped with g_timer_stop().
    void
    Destroys a timer, freeing associated resources.
    double
    elapsed(MemorySegment microseconds)
    If this Timer has been started but not stopped, obtains the time since the timer was started.
    The memory layout of the native struct.
    boolean
    Exposes whether the timer is currently active.
    static Timer
    Creates a new timer, and starts timing (i.e. g_timer_start() is implicitly called for you).
    void
    This function is useless; it's fine to call g_timer_start() on an already-started timer to reset the start time, so g_timer_reset() serves no purpose.
    void
    Marks a start time, so that future calls to g_timer_elapsed() will report the time since g_timer_start() was called.
    void
    Marks an end time, so calls to g_timer_elapsed() will return the difference between this end time and the start time.

    Methods inherited from class ProxyInstance

    equals, handle, hashCode

    Methods inherited from class Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Timer

      public Timer(MemorySegment address)
      Create a Timer proxy instance for the provided memory address.
      Parameters:
      address - the memory address of the native object
  • Method Details

    • getMemoryLayout

      public static MemoryLayout getMemoryLayout()
      The memory layout of the native struct.
      Returns:
      the memory layout
    • new_

      public static Timer new_()
      Creates a new timer, and starts timing (i.e. g_timer_start() is implicitly called for you).
      Returns:
      a new GTimer.
    • continue_

      public void continue_()
      Resumes a timer that has previously been stopped with g_timer_stop(). g_timer_stop() must be called before using this function.
      Since:
      2.4
    • destroy

      public void destroy()
      Destroys a timer, freeing associated resources.
    • elapsed

      public double elapsed(MemorySegment microseconds)
      If this Timer has been started but not stopped, obtains the time since the timer was started. If this Timer has been stopped, obtains the elapsed time between the time it was started and the time it was stopped. The return value is the number of seconds elapsed, including any fractional part. The microseconds out parameter is essentially useless.
      Parameters:
      microseconds - return location for the fractional part of seconds elapsed, in microseconds (that is, the total number of microseconds elapsed, modulo 1000000), or null
      Returns:
      seconds elapsed as a floating point value, including any fractional part.
    • isActive

      public boolean isActive()
      Exposes whether the timer is currently active.
      Returns:
      true if the timer is running, false otherwise
      Since:
      2.62
    • reset

      public void reset()
      This function is useless; it's fine to call g_timer_start() on an already-started timer to reset the start time, so g_timer_reset() serves no purpose.
    • start

      public void start()
      Marks a start time, so that future calls to g_timer_elapsed() will report the time since g_timer_start() was called. g_timer_new() automatically marks the start time, so no need to call g_timer_start() immediately after creating the timer.
    • stop

      public void stop()
      Marks an end time, so calls to g_timer_elapsed() will return the difference between this end time and the start time.