Browse Source

Moved jpgloader to Image namespace.

Brucey 3 years ago
parent
commit
61b3e37e37
1 changed files with 2 additions and 117 deletions
  1. 2 117
      jpgloader.mod/jpgloader.bmx

+ 2 - 117
jpgloader.mod/jpgloader.bmx

@@ -1,120 +1,5 @@
+SuperStrict
 
-Strict
-
-Rem
-bbdoc: Graphics/JPG loader
-about:
-The JPG loader module provides the ability to load JPG format #pixmaps.
-End Rem
 Module BRL.JPGLoader
 
-ModuleInfo "Version: 1.05"
-ModuleInfo "Author: Simon Armstrong, Jeffrey D. Panici"
-ModuleInfo "License: zlib/libpng"
-ModuleInfo "Copyright: Blitz Research Ltd"
-ModuleInfo "Modserver: BRL"
-
-ModuleInfo "History: 1.05 Release"
-ModuleInfo "History: Fixed SavePixmapJPeg"
-ModuleInfo "History: 1.04 Release"
-ModuleInfo "History: Removed print"
-ModuleInfo "History: 1.03 Release"
-ModuleInfo "History: Changed ReadBytes to Read for loader"
-ModuleInfo "History: Added SaveJPEG function, thanks to Jeffrey D. Panici for the writefunc `fix'"
-ModuleInfo "History: 1.02 Release"
-ModuleInfo "History: Added support for monochrome / single channel"
-
-Import BRL.Pixmap
-Import Pub.LibJPEG
-
-Private
-
-Function readfunc%( buf:Byte Ptr,count,src:Object )
-	Local stream:TStream
-	stream=TStream(src)
-	Local n=stream.Read( buf,count )
-	Return n
-End Function
-
-Function writefunc%( buf:Byte Ptr,count,src:Object )
-	Local stream:TStream
-	stream=TStream(src)
-	Local n=stream.Write( buf,count )
-	Return n
-End Function
-
-Public
-
-Rem
-bbdoc: Load a Pixmap in JPeg format
-about:
-#LoadPixmapJPeg loads a pixmap from @url in JPeg format.
-
-If the pixmap cannot be loaded, Null is returned.
-End Rem
-Function LoadPixmapJPeg:TPixmap( url:Object )
-
-	Local	jpg,width,height,depth,y
-	Local	pix:Byte Ptr	
-	Local	pixmap:TPixmap
-	Local	stream:TStream
-	
-	stream=ReadStream( url )
-	If Not stream Return
-	
-	Local res=loadjpg(stream,readfunc,width,height,depth,pix)
-	stream.Close
-	If res Return Null
-	
-	If width=0 Return
-	Select depth
-	Case 1
-		pixmap=CreatePixmap( width,height,PF_I8 )
-		For y=0 Until height
-			CopyPixels pix+y*width,pixmap.PixelPtr(0,y),PF_I8,width
-		Next
-	Case 3
-		pixmap=CreatePixmap( width,height,PF_RGB888 )
-		For y=0 Until height
-			CopyPixels pix+y*width*3,pixmap.PixelPtr(0,y),PF_RGB888,width
-		Next
-	End Select
-	free_ pix			
-	Return pixmap
-End Function
-
-Rem
-bbdoc: Save a Pixmap in JPeg format
-about:
-Saves @pixmap to @url in JPeg format. If successful, #SavePixmapJPeg returns
-True, otherwise False.
-
-The optional @quality parameter should be in the range 0 to 100, where
-0 indicates poor quality (smallest) and 100 indicates best quality (largest).
-End Rem
-Function SavePixmapJPeg( pixmap:TPixmap,url:Object,quality=75 )
-
-	Assert quality>=1 And quality<=100
-
-	Local stream:TStream=WriteStream( url )
-	If Not stream Return
-	
-	pixmap=pixmap.convert(PF_RGB888)
-
-	Local pix:Byte Ptr=pixmap.PixelPtr( 0,0 )
-
-	savejpg(stream,writefunc,pixmap.width,pixmap.height,pixmap.pitch,pix,quality)
-
-	stream.Close
-	Return True
-End Function
-
-Private
-
-Type TPixmapLoaderJPG Extends TPixmapLoader
-	Method LoadPixmap:TPixmap( stream:TStream ) Override
-		Return LoadPixmapJPeg( stream )
-	End Method
-End Type
-
-New TPixmapLoaderJPG
+Import Image.JPG