Class DEVMODE

All Implemented Interfaces:
AutoCloseable, NativeResource, Pointer

public class DEVMODE extends Struct<DEVMODE> implements NativeResource
Contains information about the initialization and environment of a printer or a display device.

Layout


 struct DEVMODE {
     TCHAR dmDeviceName()[32];
     WORD dmSpecVersion();
     WORD dmDriverVersion();
     WORD dmSize();
     WORD dmDriverExtra();
     DWORD dmFields();
     union {
         struct {
             short dmOrientation();
             short dmPaperSize();
             short dmPaperLength();
             short dmPaperWidth();
             short dmScale();
             short dmCopies();
             short dmDefaultSource();
             short dmPrintQuality();
         };
         struct {
             POINTL dmPosition();
             DWORD dmDisplayOrientation();
             DWORD dmDisplayFixedOutput();
         };
     };
     short dmColor();
     short dmDuplex();
     short dmYResolution();
     short dmTTOption();
     short dmCollate();
     TCHAR dmFormName()[32];
     WORD dmLogPixels();
     DWORD dmBitsPerPel();
     DWORD dmPelsWidth();
     DWORD dmPelsHeight();
     union {
         DWORD dmDisplayFlags();
         DWORD dmNup();
     };
     DWORD dmDisplayFrequency();
     DWORD dmICMMethod();
     DWORD dmICMIntent();
     DWORD dmMediaType();
     DWORD dmDitherType();
     DWORD dmReserved1();
     DWORD dmReserved2();
     DWORD dmPanningWidth();
     DWORD dmPanningHeight();
 }
  • Field Details

    • SIZEOF

      public static final int SIZEOF
      The struct size in bytes.
    • ALIGNOF

      public static final int ALIGNOF
      The struct alignment in bytes.
    • DMDEVICENAME

      public static final int DMDEVICENAME
      The struct member offsets.
    • DMSPECVERSION

      public static final int DMSPECVERSION
      The struct member offsets.
    • DMDRIVERVERSION

      public static final int DMDRIVERVERSION
      The struct member offsets.
    • DMSIZE

      public static final int DMSIZE
      The struct member offsets.
    • DMDRIVEREXTRA

      public static final int DMDRIVEREXTRA
      The struct member offsets.
    • DMFIELDS

      public static final int DMFIELDS
      The struct member offsets.
    • DMORIENTATION

      public static final int DMORIENTATION
      The struct member offsets.
    • DMPAPERSIZE

      public static final int DMPAPERSIZE
      The struct member offsets.
    • DMPAPERLENGTH

      public static final int DMPAPERLENGTH
      The struct member offsets.
    • DMPAPERWIDTH

      public static final int DMPAPERWIDTH
      The struct member offsets.
    • DMSCALE

      public static final int DMSCALE
      The struct member offsets.
    • DMCOPIES

      public static final int DMCOPIES
      The struct member offsets.
    • DMDEFAULTSOURCE

      public static final int DMDEFAULTSOURCE
      The struct member offsets.
    • DMPRINTQUALITY

      public static final int DMPRINTQUALITY
      The struct member offsets.
    • DMPOSITION

      public static final int DMPOSITION
      The struct member offsets.
    • DMDISPLAYORIENTATION

      public static final int DMDISPLAYORIENTATION
      The struct member offsets.
    • DMDISPLAYFIXEDOUTPUT

      public static final int DMDISPLAYFIXEDOUTPUT
      The struct member offsets.
    • DMCOLOR

      public static final int DMCOLOR
      The struct member offsets.
    • DMDUPLEX

      public static final int DMDUPLEX
      The struct member offsets.
    • DMYRESOLUTION

      public static final int DMYRESOLUTION
      The struct member offsets.
    • DMTTOPTION

      public static final int DMTTOPTION
      The struct member offsets.
    • DMCOLLATE

      public static final int DMCOLLATE
      The struct member offsets.
    • DMFORMNAME

      public static final int DMFORMNAME
      The struct member offsets.
    • DMLOGPIXELS

      public static final int DMLOGPIXELS
      The struct member offsets.
    • DMBITSPERPEL

      public static final int DMBITSPERPEL
      The struct member offsets.
    • DMPELSWIDTH

      public static final int DMPELSWIDTH
      The struct member offsets.
    • DMPELSHEIGHT

      public static final int DMPELSHEIGHT
      The struct member offsets.
    • DMDISPLAYFLAGS

      public static final int DMDISPLAYFLAGS
      The struct member offsets.
    • DMNUP

      public static final int DMNUP
      The struct member offsets.
    • DMDISPLAYFREQUENCY

      public static final int DMDISPLAYFREQUENCY
      The struct member offsets.
    • DMICMMETHOD

      public static final int DMICMMETHOD
      The struct member offsets.
    • DMICMINTENT

      public static final int DMICMINTENT
      The struct member offsets.
    • DMMEDIATYPE

      public static final int DMMEDIATYPE
      The struct member offsets.
    • DMDITHERTYPE

      public static final int DMDITHERTYPE
      The struct member offsets.
    • DMRESERVED1

      public static final int DMRESERVED1
      The struct member offsets.
    • DMRESERVED2

      public static final int DMRESERVED2
      The struct member offsets.
    • DMPANNINGWIDTH

      public static final int DMPANNINGWIDTH
      The struct member offsets.
    • DMPANNINGHEIGHT

      public static final int DMPANNINGHEIGHT
      The struct member offsets.
  • Constructor Details

    • DEVMODE

      public DEVMODE(ByteBuffer container)
      Creates a DEVMODE instance at the current position of the specified ByteBuffer container. Changes to the buffer's content will be visible to the struct instance and vice versa.

      The created instance holds a strong reference to the container object.

  • Method Details

    • sizeof

      public int sizeof()
      Description copied from class: Struct
      Returns sizeof(struct).
      Specified by:
      sizeof in class Struct<DEVMODE>
    • dmDeviceName

      public ByteBuffer dmDeviceName()
      A zero-terminated character array that specifies the "friendly" name of the printer or display; for example, "PCL/HP LaserJet" in the case of PCL/HP LaserJet. This string is unique among device drivers. Note that this name may be truncated to fit in the dmDeviceName array.
    • dmDeviceNameString

      public String dmDeviceNameString()
      A zero-terminated character array that specifies the "friendly" name of the printer or display; for example, "PCL/HP LaserJet" in the case of PCL/HP LaserJet. This string is unique among device drivers. Note that this name may be truncated to fit in the dmDeviceName array.
    • dmSpecVersion

      public short dmSpecVersion()
      the version number of the initialization data specification on which the structure is based. To ensure the correct version is used for any operating system, use GDI32.DM_SPECVERSION.
    • dmDriverVersion

      public short dmDriverVersion()
      the driver version number assigned by the driver developer
    • dmSize

      public short dmSize()
      specifies the size, in bytes, of the DEVMODE structure, not including any private driver-specific data that might follow the structure's public members. Set this member to SIZEOF to indicate the version of the DEVMODE structure being used.
    • dmDriverExtra

      public short dmDriverExtra()
      contains the number of bytes of private driver-data that follow this structure. If a device driver does not use device-specific information, set this member to zero.
    • dmFields

      public int dmFields()
      specifies whether certain members of the DEVMODE structure have been initialized. If a member is initialized, its corresponding bit is set otherwise the bit is clear. A driver supports only those DEVMODE members that are appropriate for the printer or display technology.
    • dmOrientation

      public short dmOrientation()
      for printer devices only
    • dmPaperSize

      public short dmPaperSize()
      for printer devices only
    • dmPaperLength

      public short dmPaperLength()
      for printer devices only
    • dmPaperWidth

      public short dmPaperWidth()
      for printer devices only
    • dmScale

      public short dmScale()
      for printer devices only
    • dmCopies

      public short dmCopies()
      for printer devices only
    • dmDefaultSource

      public short dmDefaultSource()
      for printer devices only
    • dmPrintQuality

      public short dmPrintQuality()
      for printer devices only
    • dmPosition

      public POINTL dmPosition()
      for display devices only, a POINTL structure that indicates the positional coordinates of the display device in reference to the desktop area. The primary display device is always located at coordinates (0,0).
    • dmDisplayOrientation

      public int dmDisplayOrientation()
      for display devices only, the orientation at which images should be presented. If GDI32.DM_DISPLAYORIENTATION is not set, this member must be zero. If GDI32.DM_DISPLAYORIENTATION is set, this member must be one of the following values:
      GDI32.DMDO_DEFAULT, GDI32.DMDO_90, GDI32.DMDO_180, GDI32.DMDO_270

      To determine whether the display orientation is portrait or landscape orientation, check the ratio of dmPelsWidth to dmPelsHeight.

    • dmDisplayFixedOutput

      public int dmDisplayFixedOutput()
      for fixed-resolution display devices only, how the display presents a low-resolution mode on a higher-resolution display. For example, if a display device's resolution is fixed at 1024 x 768 pixels but its mode is set to 640 x 480 pixels, the device can either display a 640 x 480 image somewhere in the interior of the 1024 x 768 screen space or stretch the 640 x 480 image to fill the larger screen space. If GDI32.DM_DISPLAYFIXEDOUTPUT is not set, this member must be zero. If GDI32.DM_DISPLAYFIXEDOUTPUT is set, this member must be one of the following values:
      GDI32.DMDFO_DEFAULT, GDI32.DMDFO_CENTER, GDI32.DMDFO_STRETCH
    • dmColor

      public short dmColor()
      for printer devices only
    • dmDuplex

      public short dmDuplex()
      for printer devices only
    • dmYResolution

      public short dmYResolution()
      for printer devices only
    • dmTTOption

      public short dmTTOption()
      for printer devices only
    • dmCollate

      public short dmCollate()
      for printer devices only
    • dmFormName

      public ByteBuffer dmFormName()
      for printer devices only
    • dmFormNameString

      public String dmFormNameString()
      for printer devices only
    • dmLogPixels

      public short dmLogPixels()
      the number of pixels per logical inch
    • dmBitsPerPel

      public int dmBitsPerPel()
      specifies the color resolution, in bits per pixel, of the display device (for example: 4 bits for 16 colors, 8 bits for 256 colors, or 16 bits for 65,536 colors)
    • dmPelsWidth

      public int dmPelsWidth()
      specifies the width, in pixels, of the visible device surface
    • dmPelsHeight

      public int dmPelsHeight()
      specifies the height, in pixels, of the visible device surface
    • dmDisplayFlags

      public int dmDisplayFlags()
      specifies the device's display mode, one or more of:
      GDI32.DM_INTERLACED, GDI32.DMDISPLAYFLAGS_TEXTMODE
    • dmNup

      public int dmNup()
      for printer devices only
    • dmDisplayFrequency

      public int dmDisplayFrequency()
      specifies the frequency, in hertz (cycles per second), of the display device in a particular mode. This value is also known as the display device's vertical refresh rate.

      When you call the User32.EnumDisplaySettingsEx(java.nio.ByteBuffer, int, org.lwjgl.system.windows.DEVMODE, int) function, the dmDisplayFrequency member may return with the value 0 or 1. These values represent the display hardware's default refresh rate. This default rate is typically set by switches on a display card or computer motherboard, or by a configuration program that does not use display functions such as ChangeDisplaySettingsEx.

    • dmICMMethod

      public int dmICMMethod()
      for printer devices only
    • dmICMIntent

      public int dmICMIntent()
      for printer devices only
    • dmMediaType

      public int dmMediaType()
      for printer devices only
    • dmDitherType

      public int dmDitherType()
      for printer devices only
    • dmReserved1

      public int dmReserved1()
      not used; must be zero
    • dmReserved2

      public int dmReserved2()
      not used; must be zero
    • dmPanningWidth

      public int dmPanningWidth()
      this member must be zero
    • dmPanningHeight

      public int dmPanningHeight()
      this member must be zero
    • dmSpecVersion

      public DEVMODE dmSpecVersion(short value)
      Sets the specified value to the dmSpecVersion() field.
    • dmSize

      public DEVMODE dmSize(short value)
      Sets the specified value to the dmSize() field.
    • dmDriverExtra

      public DEVMODE dmDriverExtra(short value)
      Sets the specified value to the dmDriverExtra() field.
    • set

      public DEVMODE set(DEVMODE src)
      Copies the specified struct data to this struct.
      Parameters:
      src - the source struct
      Returns:
      this struct
    • malloc

      public static DEVMODE malloc()
      Returns a new DEVMODE instance allocated with memAlloc. The instance must be explicitly freed.
    • calloc

      public static DEVMODE calloc()
      Returns a new DEVMODE instance allocated with memCalloc. The instance must be explicitly freed.
    • create

      public static DEVMODE create()
      Returns a new DEVMODE instance allocated with BufferUtils.
    • create

      public static DEVMODE create(long address)
      Returns a new DEVMODE instance for the specified memory address.
    • createSafe

      @Nullable public static DEVMODE createSafe(long address)
      Like create, but returns null if address is NULL.
    • malloc

      public static DEVMODE.Buffer malloc(int capacity)
      Returns a new DEVMODE.Buffer instance allocated with memAlloc. The instance must be explicitly freed.
      Parameters:
      capacity - the buffer capacity
    • calloc

      public static DEVMODE.Buffer calloc(int capacity)
      Returns a new DEVMODE.Buffer instance allocated with memCalloc. The instance must be explicitly freed.
      Parameters:
      capacity - the buffer capacity
    • create

      public static DEVMODE.Buffer create(int capacity)
      Returns a new DEVMODE.Buffer instance allocated with BufferUtils.
      Parameters:
      capacity - the buffer capacity
    • create

      public static DEVMODE.Buffer create(long address, int capacity)
      Create a DEVMODE.Buffer instance at the specified memory.
      Parameters:
      address - the memory address
      capacity - the buffer capacity
    • createSafe

      @Nullable public static DEVMODE.Buffer createSafe(long address, int capacity)
      Like create, but returns null if address is NULL.
    • mallocStack

      @Deprecated public static DEVMODE mallocStack()
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.
    • callocStack

      @Deprecated public static DEVMODE callocStack()
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.
    • mallocStack

      @Deprecated public static DEVMODE mallocStack(MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.
    • callocStack

      @Deprecated public static DEVMODE callocStack(MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.
    • mallocStack

      @Deprecated public static DEVMODE.Buffer mallocStack(int capacity)
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.
    • callocStack

      @Deprecated public static DEVMODE.Buffer callocStack(int capacity)
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.
    • mallocStack

      @Deprecated public static DEVMODE.Buffer mallocStack(int capacity, MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.
    • callocStack

      @Deprecated public static DEVMODE.Buffer callocStack(int capacity, MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.
    • malloc

      public static DEVMODE malloc(MemoryStack stack)
      Returns a new DEVMODE instance allocated on the specified MemoryStack.
      Parameters:
      stack - the stack from which to allocate
    • calloc

      public static DEVMODE calloc(MemoryStack stack)
      Returns a new DEVMODE instance allocated on the specified MemoryStack and initializes all its bits to zero.
      Parameters:
      stack - the stack from which to allocate
    • malloc

      public static DEVMODE.Buffer malloc(int capacity, MemoryStack stack)
      Returns a new DEVMODE.Buffer instance allocated on the specified MemoryStack.
      Parameters:
      capacity - the buffer capacity
      stack - the stack from which to allocate
    • calloc

      public static DEVMODE.Buffer calloc(int capacity, MemoryStack stack)
      Returns a new DEVMODE.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
      Parameters:
      capacity - the buffer capacity
      stack - the stack from which to allocate
    • ndmDeviceName

      public static ByteBuffer ndmDeviceName(long struct)
      Unsafe version of dmDeviceName().
    • ndmDeviceNameString

      public static String ndmDeviceNameString(long struct)
      Unsafe version of dmDeviceNameString().
    • ndmSpecVersion

      public static short ndmSpecVersion(long struct)
      Unsafe version of dmSpecVersion().
    • ndmDriverVersion

      public static short ndmDriverVersion(long struct)
      Unsafe version of dmDriverVersion().
    • ndmSize

      public static short ndmSize(long struct)
      Unsafe version of dmSize().
    • ndmDriverExtra

      public static short ndmDriverExtra(long struct)
      Unsafe version of dmDriverExtra().
    • ndmFields

      public static int ndmFields(long struct)
      Unsafe version of dmFields().
    • ndmOrientation

      public static short ndmOrientation(long struct)
      Unsafe version of dmOrientation().
    • ndmPaperSize

      public static short ndmPaperSize(long struct)
      Unsafe version of dmPaperSize().
    • ndmPaperLength

      public static short ndmPaperLength(long struct)
      Unsafe version of dmPaperLength().
    • ndmPaperWidth

      public static short ndmPaperWidth(long struct)
      Unsafe version of dmPaperWidth().
    • ndmScale

      public static short ndmScale(long struct)
      Unsafe version of dmScale().
    • ndmCopies

      public static short ndmCopies(long struct)
      Unsafe version of dmCopies().
    • ndmDefaultSource

      public static short ndmDefaultSource(long struct)
      Unsafe version of dmDefaultSource().
    • ndmPrintQuality

      public static short ndmPrintQuality(long struct)
      Unsafe version of dmPrintQuality().
    • ndmPosition

      public static POINTL ndmPosition(long struct)
      Unsafe version of dmPosition().
    • ndmDisplayOrientation

      public static int ndmDisplayOrientation(long struct)
      Unsafe version of dmDisplayOrientation().
    • ndmDisplayFixedOutput

      public static int ndmDisplayFixedOutput(long struct)
      Unsafe version of dmDisplayFixedOutput().
    • ndmColor

      public static short ndmColor(long struct)
      Unsafe version of dmColor().
    • ndmDuplex

      public static short ndmDuplex(long struct)
      Unsafe version of dmDuplex().
    • ndmYResolution

      public static short ndmYResolution(long struct)
      Unsafe version of dmYResolution().
    • ndmTTOption

      public static short ndmTTOption(long struct)
      Unsafe version of dmTTOption().
    • ndmCollate

      public static short ndmCollate(long struct)
      Unsafe version of dmCollate().
    • ndmFormName

      public static ByteBuffer ndmFormName(long struct)
      Unsafe version of dmFormName().
    • ndmFormNameString

      public static String ndmFormNameString(long struct)
      Unsafe version of dmFormNameString().
    • ndmLogPixels

      public static short ndmLogPixels(long struct)
      Unsafe version of dmLogPixels().
    • ndmBitsPerPel

      public static int ndmBitsPerPel(long struct)
      Unsafe version of dmBitsPerPel().
    • ndmPelsWidth

      public static int ndmPelsWidth(long struct)
      Unsafe version of dmPelsWidth().
    • ndmPelsHeight

      public static int ndmPelsHeight(long struct)
      Unsafe version of dmPelsHeight().
    • ndmDisplayFlags

      public static int ndmDisplayFlags(long struct)
      Unsafe version of dmDisplayFlags().
    • ndmNup

      public static int ndmNup(long struct)
      Unsafe version of dmNup().
    • ndmDisplayFrequency

      public static int ndmDisplayFrequency(long struct)
      Unsafe version of dmDisplayFrequency().
    • ndmICMMethod

      public static int ndmICMMethod(long struct)
      Unsafe version of dmICMMethod().
    • ndmICMIntent

      public static int ndmICMIntent(long struct)
      Unsafe version of dmICMIntent().
    • ndmMediaType

      public static int ndmMediaType(long struct)
      Unsafe version of dmMediaType().
    • ndmDitherType

      public static int ndmDitherType(long struct)
      Unsafe version of dmDitherType().
    • ndmReserved1

      public static int ndmReserved1(long struct)
      Unsafe version of dmReserved1().
    • ndmReserved2

      public static int ndmReserved2(long struct)
      Unsafe version of dmReserved2().
    • ndmPanningWidth

      public static int ndmPanningWidth(long struct)
      Unsafe version of dmPanningWidth().
    • ndmPanningHeight

      public static int ndmPanningHeight(long struct)
      Unsafe version of dmPanningHeight().
    • ndmSpecVersion

      public static void ndmSpecVersion(long struct, short value)
      Unsafe version of dmSpecVersion.
    • ndmSize

      public static void ndmSize(long struct, short value)
      Unsafe version of dmSize.
    • ndmDriverExtra

      public static void ndmDriverExtra(long struct, short value)
      Unsafe version of dmDriverExtra.