Class DEVMODE

  • All Implemented Interfaces:
    java.lang.AutoCloseable, NativeResource, Pointer


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

    Member documentation

    • 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.
    • 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 – the driver version number assigned by the driver developer
    • 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 DEVMODE.SIZEOF to indicate the version of the DEVMODE structure being used.
    • 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 – 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 – for printer devices only
    • dmPaperSize – for printer devices only
    • dmPaperLength – for printer devices only
    • dmPaperWidth – for printer devices only
    • dmScale – for printer devices only
    • dmCopies – for printer devices only
    • dmDefaultSource – for printer devices only
    • dmPrintQuality – for printer devices only
    • 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 – 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 – 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 – for printer devices only
    • dmDuplex – for printer devices only
    • dmYResolution – for printer devices only
    • dmTTOption – for printer devices only
    • dmCollate – for printer devices only
    • dmFormName – for printer devices only
    • dmLogPixels – the number of pixels per logical inch
    • 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 – specifies the width, in pixels, of the visible device surface
    • dmPelsHeight – specifies the height, in pixels, of the visible device surface
    • dmDisplayFlags – specifies the device's display mode, one or more of:
      GDI32.DM_INTERLACED, GDI32.DMDISPLAYFLAGS_TEXTMODE
    • dmNup – for printer devices only
    • 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 – for printer devices only
    • dmICMIntent – for printer devices only
    • dmMediaType – for printer devices only
    • dmDitherType – for printer devices only
    • dmReserved1 – not used; must be zero
    • dmReserved2 – not used; must be zero
    • dmPanningWidth – this member must be zero
    • dmPanningHeight – this member must be zero

    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 Detail

      • SIZEOF

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

      • DEVMODE

        public DEVMODE(java.nio.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 Detail

      • sizeof

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

        public java.nio.ByteBuffer dmDeviceName()
        Returns a ByteBuffer view of the dmDeviceName field.
      • dmDeviceNameString

        public java.lang.String dmDeviceNameString()
        Decodes the null-terminated string stored in the dmDeviceName field.
      • dmSpecVersion

        public short dmSpecVersion()
        Returns the value of the dmSpecVersion field.
      • dmDriverVersion

        public short dmDriverVersion()
        Returns the value of the dmDriverVersion field.
      • dmSize

        public short dmSize()
        Returns the value of the dmSize field.
      • dmDriverExtra

        public short dmDriverExtra()
        Returns the value of the dmDriverExtra field.
      • dmFields

        public int dmFields()
        Returns the value of the dmFields field.
      • dmOrientation

        public short dmOrientation()
        Returns the value of the dmOrientation field.
      • dmPaperSize

        public short dmPaperSize()
        Returns the value of the dmPaperSize field.
      • dmPaperLength

        public short dmPaperLength()
        Returns the value of the dmPaperLength field.
      • dmPaperWidth

        public short dmPaperWidth()
        Returns the value of the dmPaperWidth field.
      • dmScale

        public short dmScale()
        Returns the value of the dmScale field.
      • dmCopies

        public short dmCopies()
        Returns the value of the dmCopies field.
      • dmDefaultSource

        public short dmDefaultSource()
        Returns the value of the dmDefaultSource field.
      • dmPrintQuality

        public short dmPrintQuality()
        Returns the value of the dmPrintQuality field.
      • dmPosition

        public POINTL dmPosition()
        Returns a POINTL view of the dmPosition field.
      • dmDisplayOrientation

        public int dmDisplayOrientation()
        Returns the value of the dmDisplayOrientation field.
      • dmDisplayFixedOutput

        public int dmDisplayFixedOutput()
        Returns the value of the dmDisplayFixedOutput field.
      • dmColor

        public short dmColor()
        Returns the value of the dmColor field.
      • dmDuplex

        public short dmDuplex()
        Returns the value of the dmDuplex field.
      • dmYResolution

        public short dmYResolution()
        Returns the value of the dmYResolution field.
      • dmTTOption

        public short dmTTOption()
        Returns the value of the dmTTOption field.
      • dmCollate

        public short dmCollate()
        Returns the value of the dmCollate field.
      • dmFormName

        public java.nio.ByteBuffer dmFormName()
        Returns a ByteBuffer view of the dmFormName field.
      • dmFormNameString

        public java.lang.String dmFormNameString()
        Decodes the null-terminated string stored in the dmFormName field.
      • dmLogPixels

        public short dmLogPixels()
        Returns the value of the dmLogPixels field.
      • dmBitsPerPel

        public int dmBitsPerPel()
        Returns the value of the dmBitsPerPel field.
      • dmPelsWidth

        public int dmPelsWidth()
        Returns the value of the dmPelsWidth field.
      • dmPelsHeight

        public int dmPelsHeight()
        Returns the value of the dmPelsHeight field.
      • dmDisplayFlags

        public int dmDisplayFlags()
        Returns the value of the dmDisplayFlags field.
      • dmNup

        public int dmNup()
        Returns the value of the dmNup field.
      • dmDisplayFrequency

        public int dmDisplayFrequency()
        Returns the value of the dmDisplayFrequency field.
      • dmICMMethod

        public int dmICMMethod()
        Returns the value of the dmICMMethod field.
      • dmICMIntent

        public int dmICMIntent()
        Returns the value of the dmICMIntent field.
      • dmMediaType

        public int dmMediaType()
        Returns the value of the dmMediaType field.
      • dmDitherType

        public int dmDitherType()
        Returns the value of the dmDitherType field.
      • dmReserved1

        public int dmReserved1()
        Returns the value of the dmReserved1 field.
      • dmReserved2

        public int dmReserved2()
        Returns the value of the dmReserved2 field.
      • dmPanningWidth

        public int dmPanningWidth()
        Returns the value of the dmPanningWidth field.
      • dmPanningHeight

        public int dmPanningHeight()
        Returns the value of the dmPanningHeight field.
      • 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(long address)
        Returns a new DEVMODE instance for the specified memory address or null if the 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(long address,
                                            int capacity)
        Create a DEVMODE.Buffer instance at the specified memory.
        Parameters:
        address - the memory address
        capacity - the buffer capacity
      • mallocStack

        public static DEVMODE mallocStack()
        Returns a new DEVMODE instance allocated on the thread-local MemoryStack.
      • callocStack

        public static DEVMODE callocStack()
        Returns a new DEVMODE instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
      • mallocStack

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

        public static DEVMODE callocStack(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
      • mallocStack

        public static DEVMODE.Buffer mallocStack(int capacity)
        Returns a new DEVMODE.Buffer instance allocated on the thread-local MemoryStack.
        Parameters:
        capacity - the buffer capacity
      • callocStack

        public static DEVMODE.Buffer callocStack(int capacity)
        Returns a new DEVMODE.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
        Parameters:
        capacity - the buffer capacity
      • mallocStack

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

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