public static void register(){
  GraphicsPrimitive[] primitives={new GDIBlitLoops(SurfaceType.IntRgb,GDIWindowSurfaceData.AnyGdi),new GDIBlitLoops(SurfaceType.Ushort555Rgb,GDIWindowSurfaceData.AnyGdi,0x7C00,0x03E0,0x001F),new GDIBlitLoops(SurfaceType.Ushort565Rgb,GDIWindowSurfaceData.AnyGdi,0xF800,0x07E0,0x001F),new GDIBlitLoops(SurfaceType.ThreeByteBgr,GDIWindowSurfaceData.AnyGdi),new GDIBlitLoops(SurfaceType.ByteIndexedOpaque,GDIWindowSurfaceData.AnyGdi,true),new GDIBlitLoops(SurfaceType.Index8Gray,GDIWindowSurfaceData.AnyGdi,true),new GDIBlitLoops(SurfaceType.ByteGray,GDIWindowSurfaceData.AnyGdi)};
  GraphicsPrimitiveMgr.register(primitives);
}

public static void register ( ) { GraphicsPrimitive [ ] primitives = { new GDIBlitLoops ( SurfaceType . IntRgb , GDIWindowSurfaceData . AnyGdi ) , new GDIBlitLoops ( SurfaceType . Ushort555Rgb , GDIWindowSurfaceData . AnyGdi , 0x7C00 , 0x03E0 , 0x001F ) , new GDIBlitLoops ( SurfaceType . Ushort565Rgb , GDIWindowSurfaceData . AnyGdi , 0xF800 , 0x07E0 , 0x001F ) , new GDIBlitLoops ( SurfaceType . ThreeByteBgr , GDIWindowSurfaceData . AnyGdi ) , new GDIBlitLoops ( SurfaceType . ByteIndexedOpaque , GDIWindowSurfaceData . AnyGdi , true ) , new GDIBlitLoops ( SurfaceType . Index8Gray , GDIWindowSurfaceData . AnyGdi , true ) , new GDIBlitLoops ( SurfaceType . ByteGray , GDIWindowSurfaceData . AnyGdi ) } ; GraphicsPrimitiveMgr . register ( primitives ) ; }
note that we do not register loops to 8 - byte destinations . this is due to faster processing of dithering through our software loops than through gdi stretchblt processing .
