home *** CD-ROM | disk | FTP | other *** search
Java Source | 1996-10-10 | 3.1 KB | 137 lines |
- import java.awt.*;
- import java.awt.peer.ComponentPeer;
- import java.applet.*;
- import com.ms.com.*;
- import com.ms.com.*;
- import com.ms.awt.*;
- import com.ms.awt.peer.*;
- import com.ms.directX.*;
-
- public class Stretch extends Canvas implements ddConstants
- {
- dDraw dd; // DirectDraw object
- ddSurface ddsPrimary; // DirectDraw primary surface
- ddSurface ddsOne = null; // Offscreen surface 1
- ddPalette ddPal; // DirectDraw palette
- int hwnd;
- String szBitmap;
-
- //////////////////////////////////////////////////////////////////////////
- //
-
- ddSurface LoadBitmap(dDraw dd, String bitmapFile, int dx, int dy)
- {
- ddSurface pdds = null;
- dBitmap bm;
- ddSurfaceDesc ddsd;
-
- bm = new dBitmap();
- bm.filename (bitmapFile);
- bm.initWidth(dx);
- bm.initHeight(dy);
-
- if( bm.loaded() != 0 )
- {
- //
- // create a DirectDrawSurface for this bitmap
- //
- ddsd = new ddSurfaceDesc();
- ddsd.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH;
- ddsd.ddsCaps = DDSCAPS_OFFSCREENPLAIN;
- ddsd.width = bm.width();
- ddsd.height = bm.height();
-
- pdds = dd.CreateSurface( ddsd, null);
- pdds.CopyBitmap(bm, 0, 0, 0, 0);
- }
-
- return pdds;
- }
-
- //////////////////////////////////////////////////////////////////////////
- //
- // basically the doInit from stretch
- //
-
- FlickStretch doInit()
- {
- ComponentPeer p = getPeer();
- ComponentPeerX peer = (ComponentPeerX)p;
- hwnd = peer.gethwnd();
-
- ddClipper Clipper; // clipper for primary
- ddSurfaceDesc ddsd; // dont forget sizeof!
-
- //
- // create the main DirectDraw object
- //
- dd = new dDraw();
- dd.SetCooperativeLevel(hwnd, DDSCL_NORMAL);
-
- //
- // Create the primary surface
- //
- ddsd = new ddSurfaceDesc();
- ddsd.dwFlags = DDSD_CAPS ;
- ddsd.ddsCaps = DDSCAPS_PRIMARYSURFACE;
- ddsPrimary = dd.CreateSurface(ddsd, null);
-
- //
- // create a clipper for the primary surface
- //
- Clipper = dd.CreateClipper(0, null);
- Clipper.SetHWnd(0, hwnd);
- ddsPrimary.SetClipper( Clipper );
-
- //
- // load our palette
- //
- ddPal = dd.LoadPaletteFromBitmap(szBitmap);
- if( ddPal != null)
- {
- //
- // make sure to set the palette before loading bitmaps.
- //
- ddsPrimary.SetPalette(ddPal);
- }
-
- //
- // load our bitmap
- //
- ddsOne = LoadBitmap(dd, szBitmap, 0, 0);
-
- if( ddsOne == null)
- {
- return null;
- }
-
- FlickStretch f = new FlickStretch(dd, ddsPrimary, ddsOne, szBitmap, peer);
- return f;
- }
-
- //////////////////////////////////////////////////////////////////////////
-
- Stretch(TestGraph tg)
- {
- super();
- szBitmap = tg.getFileName("DONUT.BMP");
- }
-
- //////////////////////////////////////////////////////////////////////////
-
- public Dimension minimumSize()
- {
- return new Dimension(64,64);
- }
-
- //////////////////////////////////////////////////////////////////////////
-
- public Dimension preferredSize()
- {
- return new Dimension(64,64);
- }
-
- //////////////////////////////////////////////////////////////////////////
- }
-
-