Package dxgi

Source Code of dxgi.DXGI

package dxgi;


import java.awt.Component;
import java.awt.Frame;
import java.util.Collections;
import java.util.Iterator;

import javax.swing.JFrame;

import org.bridj.BridJ;
import org.bridj.FlagSet;
import org.bridj.IntValuedEnum;
import org.bridj.Pointer;

import static dxgi.DXGI.DXGI_FORMAT.DXGI_FORMAT_R8G8B8A8_UNORM;
import static dxgi.DXGI.DXGI_SWAP_EFFECT.DXGI_SWAP_EFFECT_DISCARD;
import static dxgi.DXGI.DXGI_USAGE.DXGI_USAGE_RENDER_TARGET_OUTPUT;
import static org.bridj.Pointer.*;

import org.bridj.TypedPointer;
import org.bridj.ValuedEnum;
import org.bridj.ann.Library;
import org.bridj.ann.Runtime;
import org.bridj.cpp.CPPRuntime;
import org.bridj.cpp.com.COMRuntime;
import org.bridj.jawt.JAWTUtils;

import windows.HWND;

/**
* Wrapper for library <b>dxgi</b><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.free.fr/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> or <a href="http://bridj.googlecode.com/">BridJ</a> .
*/
@Library("dxgi")
@Runtime(COMRuntime.class)
public class DXGI {
  static {
    BridJ.register();
  }
 
  public enum DXGI_MODE_SCALING implements IntValuedEnum<DXGI_MODE_SCALING > {
    DXGI_MODE_SCALING_UNKNOWN(99999);
    DXGI_MODE_SCALING(long value) {
      this.value = value;
    }
    public final long value;
    public long value() {
      return this.value;
    }
    public Iterator<DXGI_MODE_SCALING > iterator() {
      return Collections.singleton(this).iterator();
    }
    public static ValuedEnum<DXGI_MODE_SCALING > fromValue(long value) {
      return FlagSet.fromValue(value, values());
    }
  };
 
  public enum DXGI_MODE_SCANLINE_ORDER implements IntValuedEnum<DXGI_MODE_SCANLINE_ORDER > {
    DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED(0),
    DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE(1),
    DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST(2),
    DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST(3);
    DXGI_MODE_SCANLINE_ORDER(long value) {
      this.value = value;
    }
    public final long value;
    public long value() {
      return this.value;
    }
    public Iterator<DXGI_MODE_SCANLINE_ORDER > iterator() {
      return Collections.singleton(this).iterator();
    }
    public static ValuedEnum<DXGI_MODE_SCANLINE_ORDER > fromValue(long value) {
      return FlagSet.fromValue(value, values());
    }
  };
  public enum DXGI_FORMAT implements IntValuedEnum<DXGI_FORMAT > {
    DXGI_FORMAT_UNKNOWN(0),
    DXGI_FORMAT_R32G32B32A32_TYPELESS(1),
    DXGI_FORMAT_R32G32B32A32_FLOAT(2),
    DXGI_FORMAT_R32G32B32A32_UINT(3),
    DXGI_FORMAT_R32G32B32A32_SINT(4),
    DXGI_FORMAT_R32G32B32_TYPELESS(5),
    DXGI_FORMAT_R32G32B32_FLOAT(6),
    DXGI_FORMAT_R32G32B32_UINT(7),
    DXGI_FORMAT_R32G32B32_SINT(8),
    DXGI_FORMAT_R16G16B16A16_TYPELESS(9),
    DXGI_FORMAT_R16G16B16A16_FLOAT(10),
    DXGI_FORMAT_R16G16B16A16_UNORM(11),
    DXGI_FORMAT_R16G16B16A16_UINT(12),
    DXGI_FORMAT_R16G16B16A16_SNORM(13),
    DXGI_FORMAT_R16G16B16A16_SINT(14),
    DXGI_FORMAT_R32G32_TYPELESS(15),
    DXGI_FORMAT_R32G32_FLOAT(16),
    DXGI_FORMAT_R32G32_UINT(17),
    DXGI_FORMAT_R32G32_SINT(18),
    DXGI_FORMAT_R32G8X24_TYPELESS(19),
    DXGI_FORMAT_D32_FLOAT_S8X24_UINT(20),
    DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS(21),
    DXGI_FORMAT_X32_TYPELESS_G8X24_UINT(22),
    DXGI_FORMAT_R10G10B10A2_TYPELESS(23),
    DXGI_FORMAT_R10G10B10A2_UNORM(24),
    DXGI_FORMAT_R10G10B10A2_UINT(25),
    DXGI_FORMAT_R11G11B10_FLOAT(26),
    DXGI_FORMAT_R8G8B8A8_TYPELESS(27),
    DXGI_FORMAT_R8G8B8A8_UNORM(28),
    DXGI_FORMAT_R8G8B8A8_UNORM_SRGB(29),
    DXGI_FORMAT_R8G8B8A8_UINT(30),
    DXGI_FORMAT_R8G8B8A8_SNORM(31),
    DXGI_FORMAT_R8G8B8A8_SINT(32),
    DXGI_FORMAT_R16G16_TYPELESS(33),
    DXGI_FORMAT_R16G16_FLOAT(34),
    DXGI_FORMAT_R16G16_UNORM(35),
    DXGI_FORMAT_R16G16_UINT(36),
    DXGI_FORMAT_R16G16_SNORM(37),
    DXGI_FORMAT_R16G16_SINT(38),
    DXGI_FORMAT_R32_TYPELESS(39),
    DXGI_FORMAT_D32_FLOAT(40),
    DXGI_FORMAT_R32_FLOAT(41),
    DXGI_FORMAT_R32_UINT(42),
    DXGI_FORMAT_R32_SINT(43),
    DXGI_FORMAT_R24G8_TYPELESS(44),
    DXGI_FORMAT_D24_UNORM_S8_UINT(45),
    DXGI_FORMAT_R24_UNORM_X8_TYPELESS(46),
    DXGI_FORMAT_X24_TYPELESS_G8_UINT(47),
    DXGI_FORMAT_R8G8_TYPELESS(48),
    DXGI_FORMAT_R8G8_UNORM(49),
    DXGI_FORMAT_R8G8_UINT(50),
    DXGI_FORMAT_R8G8_SNORM(51),
    DXGI_FORMAT_R8G8_SINT(52),
    DXGI_FORMAT_R16_TYPELESS(53),
    DXGI_FORMAT_R16_FLOAT(54),
    DXGI_FORMAT_D16_UNORM(55),
    DXGI_FORMAT_R16_UNORM(56),
    DXGI_FORMAT_R16_UINT(57),
    DXGI_FORMAT_R16_SNORM(58),
    DXGI_FORMAT_R16_SINT(59),
    DXGI_FORMAT_R8_TYPELESS(60),
    DXGI_FORMAT_R8_UNORM(61),
    DXGI_FORMAT_R8_UINT(62),
    DXGI_FORMAT_R8_SNORM(63),
    DXGI_FORMAT_R8_SINT(64),
    DXGI_FORMAT_A8_UNORM(65),
    DXGI_FORMAT_R1_UNORM(66),
    DXGI_FORMAT_R9G9B9E5_SHAREDEXP(67),
    DXGI_FORMAT_R8G8_B8G8_UNORM(68),
    DXGI_FORMAT_G8R8_G8B8_UNORM(69),
    DXGI_FORMAT_BC1_TYPELESS(70),
    DXGI_FORMAT_BC1_UNORM(71),
    DXGI_FORMAT_BC1_UNORM_SRGB(72),
    DXGI_FORMAT_BC2_TYPELESS(73),
    DXGI_FORMAT_BC2_UNORM(74),
    DXGI_FORMAT_BC2_UNORM_SRGB(75),
    DXGI_FORMAT_BC3_TYPELESS(76),
    DXGI_FORMAT_BC3_UNORM(77),
    DXGI_FORMAT_BC3_UNORM_SRGB(78),
    DXGI_FORMAT_BC4_TYPELESS(79),
    DXGI_FORMAT_BC4_UNORM(80),
    DXGI_FORMAT_BC4_SNORM(81),
    DXGI_FORMAT_BC5_TYPELESS(82),
    DXGI_FORMAT_BC5_UNORM(83),
    DXGI_FORMAT_BC5_SNORM(84),
    DXGI_FORMAT_B5G6R5_UNORM(85),
    DXGI_FORMAT_B5G5R5A1_UNORM(86),
    DXGI_FORMAT_B8G8R8A8_UNORM(87),
    DXGI_FORMAT_B8G8R8X8_UNORM(88),
    DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM(89),
    DXGI_FORMAT_B8G8R8A8_TYPELESS(90),
    DXGI_FORMAT_B8G8R8A8_UNORM_SRGB(91),
    DXGI_FORMAT_B8G8R8X8_TYPELESS(92),
    DXGI_FORMAT_B8G8R8X8_UNORM_SRGB(93),
    DXGI_FORMAT_BC6H_TYPELESS(94),
    DXGI_FORMAT_BC6H_UF16(95),
    DXGI_FORMAT_BC6H_SF16(96),
    DXGI_FORMAT_BC7_TYPELESS(97),
    DXGI_FORMAT_BC7_UNORM(98),
    DXGI_FORMAT_BC7_UNORM_SRGB(99);
 
    DXGI_FORMAT(long value) {
      this.value = value;
    }
    public final long value;
    public long value() {
      return this.value;
    }
    public Iterator<DXGI_FORMAT > iterator() {
      return Collections.singleton(this).iterator();
    }
    public static ValuedEnum<DXGI_FORMAT > fromValue(long value) {
      return FlagSet.fromValue(value, values());
    }
  };
  public enum DXGI_RESIDENCY implements IntValuedEnum<DXGI_RESIDENCY > {
    DXGI_RESIDENCY_FULLY_RESIDENT(1),
    DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY(2),
    DXGI_RESIDENCY_EVICTED_TO_DISK(3);
    DXGI_RESIDENCY(long value) {
      this.value = value;
    }
    public final long value;
    public long value() {
      return this.value;
    }
    public Iterator<DXGI_RESIDENCY > iterator() {
      return Collections.singleton(this).iterator();
    }
    public static ValuedEnum<DXGI_RESIDENCY > fromValue(long value) {
      return FlagSet.fromValue(value, values());
    }
  };
  public enum DXGI_SWAP_EFFECT implements IntValuedEnum<DXGI_SWAP_EFFECT > {
    DXGI_SWAP_EFFECT_DISCARD(0),
    DXGI_SWAP_EFFECT_SEQUENTIAL(1);
    DXGI_SWAP_EFFECT(long value) {
      this.value = value;
    }
    public final long value;
    public long value() {
      return this.value;
    }
    public Iterator<DXGI_SWAP_EFFECT > iterator() {
      return Collections.singleton(this).iterator();
    }
    public static ValuedEnum<DXGI_SWAP_EFFECT > fromValue(long value) {
      return FlagSet.fromValue(value, values());
    }
  };
  public enum DXGI_SWAP_CHAIN_FLAG implements IntValuedEnum<DXGI_SWAP_CHAIN_FLAG > {
    DXGI_SWAP_CHAIN_FLAG_NONPREROTATED(1),
    DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH(2),
    DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE(4);
    DXGI_SWAP_CHAIN_FLAG(long value) {
      this.value = value;
    }
    public final long value;
    public long value() {
      return this.value;
    }
    public Iterator<DXGI_SWAP_CHAIN_FLAG > iterator() {
      return Collections.singleton(this).iterator();
    }
    public static ValuedEnum<DXGI_SWAP_CHAIN_FLAG > fromValue(long value) {
      return FlagSet.fromValue(value, values());
    }
  };
  public enum DXGI_ADAPTER_FLAG implements IntValuedEnum<DXGI_ADAPTER_FLAG > {
    DXGI_ADAPTER_FLAG_NONE(0),
    DXGI_ADAPTER_FLAG_REMOTE(1),
    DXGI_ADAPTER_FLAG_FORCE_DWORD(0xFFFFFFFF);
    DXGI_ADAPTER_FLAG(long value) {
      this.value = value;
    }
    public final long value;
    public long value() {
      return this.value;
    }
    public Iterator<DXGI_ADAPTER_FLAG > iterator() {
      return Collections.singleton(this).iterator();
    }
    public static ValuedEnum<DXGI_ADAPTER_FLAG > fromValue(long value) {
      return FlagSet.fromValue(value, values());
    }
  };
  public enum DXGI_USAGE implements IntValuedEnum<DXGI_USAGE> {
    DXGI_USAGE_SHADER_INPUT(1 << (0 + 4)),
    DXGI_USAGE_RENDER_TARGET_OUTPUT(1 << (1 + 4)),
    DXGI_USAGE_BACK_BUFFER(1 << (2 + 4)),
    DXGI_USAGE_SHARED(1 << (3 + 4)),
    DXGI_USAGE_READ_ONLY(1 << (4 + 4)),
    DXGI_USAGE_DISCARD_ON_PRESENT(1 << (5 + 4)),
    DXGI_USAGE_UNORDERED_ACCESS(1 << (6 + 4));
    DXGI_USAGE(long value) {
      this.value = value;
    }
    public final long value;
    public long value() {
      return this.value;
    }
    public Iterator<DXGI_USAGE> iterator() {
      return Collections.singleton(this).iterator();
    }
    public static FlagSet<DXGI_USAGE> fromValue(long value) {
      return FlagSet.fromValue(value, values());
    }
  }
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_RESOURCE_PRIORITY_NORMAL = (int)(2013265920);
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_CPU_ACCESS_DYNAMIC = (int)(1);
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_CPU_ACCESS_SCRATCH = (int)(3);
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_PRESENT_RESTART = (int)4;
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_MAP_READ = (int)(1);
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_MAP_WRITE = (int)(2);
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_MWA_NO_PRINT_SCREEN = (int)(1 << 2);
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_MWA_NO_ALT_ENTER = (int)(1 << 1);
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_CPU_ACCESS_NONE = (int)(0);
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_PRESENT_DO_NOT_SEQUENCE = (int)2;
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_RESOURCE_PRIORITY_HIGH = (int)(-1610612736);
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_PRESENT_TEST = (int)1;
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_MAP_DISCARD = (int)(4);
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_RESOURCE_PRIORITY_MAXIMUM = (int)(-939524096);
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_CPU_ACCESS_FIELD = (int)15;
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_CPU_ACCESS_READ_WRITE = (int)(2);
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_ENUM_MODES_INTERLACED = (int)(1);
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_MWA_VALID = (int)(7);
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_MAX_SWAP_CHAIN_BUFFERS = (int)(16);
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_RESOURCE_PRIORITY_LOW = (int)(1342177280);
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_ENUM_MODES_SCALING = (int)(2);
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_RESOURCE_PRIORITY_MINIMUM = (int)(671088640);
  /// <i>native declaration : DXGI.h</i>
  public static final int DXGI_MWA_NO_WINDOW_CHANGES = (int)(1 << 0);
 
  public static native int CreateDXGIFactory(Pointer<Byte> riid, Pointer<Pointer<?> > ppFactory);
  public static native int CreateDXGIFactory1(Pointer<Byte> pointer, Pointer<Pointer<?>> ppFactory);
 
  // "Javanized" methods
  public IDXGIFactory CreateDXGIFactory() {
    Pointer<Byte> pGUID = COMRuntime.getIID(IDXGIFactory.class);
    Pointer<Pointer<?>> pp = allocatePointer();
   
    int result = CreateDXGIFactory(pGUID, pp);
    if(result != 0) {
      pp.release();
      throw new DXGIException("", result);
    }
   
    return pp.get().getNativeObject(IDXGIFactory.class);
  }
 
  public IDXGIFactory1 CreateDXGIFactory1() {
    Pointer<Byte> pGUID = COMRuntime.getIID(IDXGIFactory1.class);
    Pointer<Pointer<?>> pp = allocatePointer();
   
    int result = CreateDXGIFactory1(pGUID, pp);
    if(result != 0) {
      pp.release();
      throw new DXGIException("Could not create DXGIFactory", result);
    }
   
    return pp.get().getNativeObject(IDXGIFactory1.class);
  }
 
  // Utility methods
  public static final DXGI_SWAP_CHAIN_DESC SwapChainDescription(Component comp) {
    DXGI_SWAP_CHAIN_DESC desc = new DXGI_SWAP_CHAIN_DESC();
    desc.BufferCount(1)
      .Windowed(1)
      .OutputWindow(new HWND(pointerToAddress(JAWTUtils.getNativePeerHandle(comp))))
      .BufferUsage(DXGI_USAGE_RENDER_TARGET_OUTPUT)
      .SwapEffect(DXGI_SWAP_EFFECT_DISCARD);
    desc.BufferDesc().Width(comp.getWidth())
             .Height(comp.getHeight())
             .Format(DXGI_FORMAT_R8G8B8A8_UNORM)
             .RefreshRate().Numerator(60)
                      .Denominator(1);
    desc.SampleDesc().Count(1)
             .Quality(0);
   
    return desc;
  }
 
  public static final DXGI_SWAP_CHAIN_DESC SwapChainDescription(Component comp, ValuedEnum<DXGI_FORMAT> format) {
    DXGI_SWAP_CHAIN_DESC desc = new DXGI_SWAP_CHAIN_DESC();
    desc.BufferCount(1)
      .Windowed(1)
      .OutputWindow(new HWND(pointerToAddress(JAWTUtils.getNativePeerHandle(comp))))
      .BufferUsage(DXGI_USAGE_RENDER_TARGET_OUTPUT)
      .SwapEffect(DXGI_SWAP_EFFECT_DISCARD);
    desc.BufferDesc().Width(comp.getWidth())
             .Height(comp.getHeight())
             .Format(format)
             .RefreshRate().Numerator(60)
                      .Denominator(1);
    desc.SampleDesc().Count(1)
             .Quality(0);
   
    return desc;
  }
 
}
TOP

Related Classes of dxgi.DXGI

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.