Okay, it's done.
-Draw lines, points, and rectangles with pixel-perfect accuracy
-3D-accelerated performance in 2D
-Draw and tile images
-Rotate and scale images with correct image handles
-Create, load and save images in many formats, with alpha channels, and adjustable JPEG quality
-Set drawing color, with alpha
-Set 5 different drawing blend modes
-Retrieve image data with ImagePixels() and update with UpdateImage()
-Draw on any window, or use multiple windows
-Can be used with any programming language
BlitzMax sells for $80. Play Basic sells for $34.95. I'll sell this for $29.95. If a few people are interested, I will package it up and put it on my site.

Here is the complete list of commands:
-Draw lines, points, and rectangles with pixel-perfect accuracy
-3D-accelerated performance in 2D
-Draw and tile images
-Rotate and scale images with correct image handles
-Create, load and save images in many formats, with alpha channels, and adjustable JPEG quality
-Set drawing color, with alpha
-Set 5 different drawing blend modes
-Retrieve image data with ImagePixels() and update with UpdateImage()
-Draw on any window, or use multiple windows
-Can be used with any programming language
BlitzMax sells for $80. Play Basic sells for $34.95. I'll sell this for $29.95. If a few people are interested, I will package it up and put it on my site.

Here is the complete list of commands:
;General Release(node) : "Release" ;Graphics CreateViewport_%(hWnd) : "CreateViewport" Cls_() : "Cls" DrawRect_(x,y,width,height,fill) : "DrawRect" DrawLine_(Ax,Ay,Bx,By) : "DrawLine" LoadFont_%(fontname$,size) : "LoadFont" SetFont_(font) : "SetFont" DrawText_(text$,x,y) : "DrawText" Plot_(x,y) : "Plot" DrawImage_(image,x,y) : "DrawImage" SetBlend_(blendmode) : "SetBlend" SetColor_(red,green,blue,alpha) : "SetColor" FPS_%() : "FPS" Sync_(vwait) : "Sync" ;Image LoadImage_%(file$,flags) : "LoadImage" ImageWidth_%(image) : "ImageWidth" ImageHeight_%(image) : "ImageHeight" ImageDepth_%(image) : "ImageDepth" ImagePitch_%(image) : "ImagePitch" HandleImage_(image,x,y) : "HandleImage" MidHandleImage_(image) : "MidHandleImage" RotateImage_(image,angle#) : "RotateImage" ScaleImage_(image,x#,y#) : "ScaleImage" ImagePixels_%(image) : "ImagePixels" UpdateImage_(image) : "UpdateImage" SaveImage_%(image,file$,quality) : "SaveImage" CreateImage_%(width,height,depth) : "CreateImage" ;Maths RectsOverlap_%(Ax,Ay,Aw,Ah,Bx,By,Bw,Bh) : "RectsOverlap" PointDistance_#(Ax,Ay,Bx,By) : "PointDistance" PointInRect_%(Ax,Ay,Bx,By,width,height) : "PointInRect" WrapAngle_#(angle#) : "WrapAngle" CurveValue_#(target#,value#,increments#) : "CurveValue" CurveAngle_#(target#,value#,increments#) : "CurveAngle" AngleDifference_#(angle0#,angle1#) : "AngleDifference"