?? index.html
字號(hào):
int SDL_imageFilterMult(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, int length);SDL_imageFilterMultNor: D = S1 * S2 (non-MMX) int SDL_imageFilterMultNor(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, int length);SDL_imageFilterMultDivby2: D = saturation255(S1/2 * S2) int SDL_imageFilterMultDivby2(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, int length);SDL_imageFilterMultDivby4: D = saturation255(S1/2 * S2/2) int SDL_imageFilterMultDivby4(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, int length);SDL_imageFilterBitAnd: D = S1 & S2 int SDL_imageFilterBitAnd(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, int length);SDL_imageFilterBitOr: D = S1 | S2 int SDL_imageFilterBitOr(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, int length);SDL_imageFilterDiv: D = S1 / S2 (non-MMX) int SDL_imageFilterDiv(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, int length);SDL_imageFilterBitNegation: D = !S int SDL_imageFilterBitNegation(unsigned char *Src1, unsigned char *Dest, int length);SDL_imageFilterAddByte: D = saturation255(S + C) int SDL_imageFilterAddByte(unsigned char *Src1, unsigned char *Dest, int length, unsigned char C);SDL_imageFilterAddByteToHalf: D = saturation255(S/2 + C) int SDL_imageFilterAddByteToHalf(unsigned char *Src1, unsigned char *Dest, int length, unsigned char C);SDL_imageFilterSubByte: D = saturation0(S - C) int SDL_imageFilterSubByte(unsigned char *Src1, unsigned char *Dest, int length, unsigned char C);SDL_imageFilterShiftRight: D = saturation0(S >> N) int SDL_imageFilterShiftRight(unsigned char *Src1, unsigned char *Dest, int length, unsigned char N);SDL_imageFilterMultByByte: D = saturation255(S * C) int SDL_imageFilterMultByByte(unsigned char *Src1, unsigned char *Dest, int length, unsigned char C);SDL_imageFilterShiftRightAndMultByByte: D = saturation255((S >> N) * C) int SDL_imageFilterShiftRightAndMultByByte(unsigned char *Src1, unsigned char *Dest, int length, unsigned char N, unsigned char C);SDL_imageFilterShiftLeftByte: D = (S << N) int SDL_imageFilterShiftLeftByte(unsigned char *Src1, unsigned char *Dest, int length, unsigned char N);SDL_imageFilterShiftLeft: D = saturation255(S << N) int SDL_imageFilterShiftLeft(unsigned char *Src1, unsigned char *Dest, int length, unsigned char N);SDL_imageFilterBinarizeUsingThreshold: D = S >= T ? 255:0 int SDL_imageFilterBinarizeUsingThreshold(unsigned char *Src1, unsigned char *Dest, int length, unsigned char T);SDL_imageFilterClipToRange: D = (S >= Tmin) & (S <= Tmax) 255:0 int SDL_imageFilterClipToRange(unsigned char *Src1, unsigned char *Dest, int length, unsigned char Tmin, unsigned char Tmax);SDL_imageFilterNormalizeLinear: D = saturation255((Nmax - Nmin)/(Cmax - Cmin)*(S - Cmin) + Nmin) int SDL_imageFilterNormalizeLinear(unsigned char *Src1, unsigned char *Dest, int length, int Cmin, int Cmax, int Nmin, int Nmax); !!! NO C-ROUTINE FOR THESE FUNCTIONS YET !!! SDL_imageFilterConvolveKernel3x3Divide: Dij = saturation0and255( ... ) int SDL_imageFilterConvolveKernel3x3Divide(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor);SDL_imageFilterConvolveKernel5x5Divide: Dij = saturation0and255( ... ) int SDL_imageFilterConvolveKernel5x5Divide(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor);SDL_imageFilterConvolveKernel7x7Divide: Dij = saturation0and255( ... ) int SDL_imageFilterConvolveKernel7x7Divide(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor);SDL_imageFilterConvolveKernel9x9Divide: Dij = saturation0and255( ... ) int SDL_imageFilterConvolveKernel9x9Divide(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor);SDL_imageFilterConvolveKernel3x3ShiftRight: Dij = saturation0and255( ... ) int SDL_imageFilterConvolveKernel3x3ShiftRight(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift);SDL_imageFilterConvolveKernel5x5ShiftRight: Dij = saturation0and255( ... ) int SDL_imageFilterConvolveKernel5x5ShiftRight(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift);SDL_imageFilterConvolveKernel7x7ShiftRight: Dij = saturation0and255( ... ) int SDL_imageFilterConvolveKernel7x7ShiftRight(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift);SDL_imageFilterConvolveKernel9x9ShiftRight: Dij = saturation0and255( ... ) int SDL_imageFilterConvolveKernel9x9ShiftRight(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift);SDL_imageFilterSobelX: Dij = saturation255( ... ) int SDL_imageFilterSobelX(unsigned char *Src, unsigned char *Dest, int rows, int columns);SDL_imageFilterSobelXShiftRight: Dij = saturation255( ... ) int SDL_imageFilterSobelXShiftRight(unsigned char *Src, unsigned char *Dest, int rows, int columns, unsigned char NRightShift);Align/restore stack to 32 byte boundary -- Functionality untested! -- void SDL_imageFilterAlignStack(void); void SDL_imageFilterRestoreStack(void);</pre></div><h3>Installation and Test</h3><div style="margin-left:0.6cm;">To compile the library your need the SDL 1.2 installed from source or with the 'devel' RPM package.<p>Run<br><pre> ./autogen.sh ./configure make</pre>to compile the library. Run the shell script 'nodebug.sh' before make, topatch the makefile for optimized compilation.<p>Run<br><pre> make install ldconfig</pre>to install the library. The default location for the installation is/usr/local/lib and /usr/local/include (for Linux).<p>To create a Windows DLL using VisualC:<pre> vcvars.bat copy VisualC/makefile nmake</pre>To create a Windows DLL using the xmingw32 cross-compiler:<pre> cross-configure cross-make cross-make install</pre>Change to the ./Test directory and run<br><pre> ./configure make</pre>to create several test programs for the libraries functions.<p>To build without MMX code enabled (i.e. PPC architecture):<br><pre> ./configure --disable-mmx make make install</pre><p>To build on MacOS X with Project Builder, follow these steps:<br><li>Update your developer tools to the lastest version (December 2002 asof this revision).<li>Install the SDL Developers framework for Mac OS X.<li>Download the latest SDL_gfx source distribution and extract thearchive in a convenient location.<li>Extract the included OSX-PB.tgz archive into thetop directory of the SDL_gfx distribution (from step 3). This willcreate a PB that contains the project files.<li>The project has targets for the SDL_gfx framework and the four testprograms. All can be built using the 'deployment' or 'development'build styles.</div><h3>Change Log</h3><div style="margin-left:0.6cm;"><pre>CHANGES/VERSION===============Ver 2.0.12 - Mon Aug 30 09:04:11 EDT 2004* piecolor naming fix* primitive API change to 'filledPie'* introduction of some const variablesVer 2.0.11 - Thu May 13 09:42:34 EDT 2004* added pieRGBA/pieColor primitive (non filled pie)* added QNX6 build patch* use $(includedir)/SDL to automake setup* updated README* added 2x2 box & pie tests* added dynamic font setup routine* added sample font files to the Fonts directory* added font test program* string routines changed to use const char* fixed TestRotozoom clear color bugVer 2.0.10 - Thu Dec 11 09:40:08 EST 2003* updated "missing" script to newer version to avoid build errors* fixed filled polygon int32 overflow error in calculation* updated RPM spec file for new website path* added micro version number to .h fileVer 2.0.9 - Mon Oct 27 10:03:18 EST 2003* Fixed "filled-box width too small by 1 bug" for A=255* Wrong versioning in .h fileVer 2.0.8 - Wed Jul 16 16:18:13 EDT 2003* Modified filledPolygon drawing (The edges of a filled polygon and a polyline were reported to not intersect correctly. With this fix, the edges do still do not intersect 100% due to the difference in the algorithms. But now a polygon will never draw outside of the area enclosed by a polyline.)Ver 2.0.7 - Sun Jun 8 08:17:38 EDT 2003* Added MacOS X Project Builder code* changed SDL include to <SDL/SDL.h>* added bezier curve Ver 2.0.6 - Sat May 25 15:12:17 EDT 2002* Fixed clipping code for most primitives* Added clipping code for character* Added VC7 project fileVer 2.0.5 - n/a* Removed some unused codeVer 2.0.4 - Sat Feb 9 22:09:45 EST 2002* Fixed rectangle drawing bug on edges for A<255* Added trigons (triangles) as wrapper calls to polygon.Ver 2.0.3 - Sat Jan 26 10:06:16 EST 2002* Zipped VisualC directory to avoid EOL problems.* Fixed aalineColor call (y2 parameter was y1).* Fixed rotozoom bug that caused black or undefined pixels on edges.Ver 2.0.2 - Sat Jan 19 21:41:28 EST 2002* Removed dependency from GL libraries during compile.* Added VisualC makefile.Ver 2.0 - Sat Dec 29 16:27:57 EST 2001* Initial release of SDL_gfx based on SDL_gfxPrimitives and SDL_rotozoom code.* Added framerate code and testprogram.* Added imageFilters code and testprogram.* New distribution: source code, README, configure system etc.Previous versions=================SDL_gfxPrimitives:------------------Ver 1.5 - Mon Jul 2 11:27:40 EDT 2001* New alpha blending code for factor 4 speedups if a<255 on all functions.* Modified include file for W32 DLL support.* Added VC6 project files for DLL and static library building.* Added simple AA-circle/-ellipse routine - quality needs improvement.* Removed 32bit shift on 64bit number from aaline for better portability across platforms.* Removed a couple more compiler warnings (i.e. purely cosmetic fix).Ver 1.4 - Sun Jun 3 11:52:07 EDT 2001* Fixed hline, vline and rectangle clipping and result codes.* Fixed AA-line arithmetic (was alpha subtraction, should be alpha ratio).* More caching on fonts for speedups.* More pointer checks in several places.* New special cases for ellipses for rx=0/ry=0.* Same sanity checks for circles/ellipses.* Same return code for polygon/filledpolygon.Ver 1.3 - Thu May 31 12:41:35 EDT 2001* Minor cleanups and fixes (gcc -Wall is your friend).Ver 1.2 again - Thu Apr 5 07:50:57 EDT 2001* Fixed lineRGBA and aalineRGBA calls (had coordinate-passing mixed up twice, thanks Lion for pointing this out)Ver 1.2 - Wed Apr 4 08:32:42 EDT 2001* Changed to a dual, you-have-the-choice(TM) licencing system to accomodate GPL developments using SDL_gfxPrimitives.* Some minor fixes (thanks Karl).* All routines return proper result code now.* Clipping for aaline, circle and ellipse.Ver 1.1 - Thu Mar 22 15:28:27 EST 2001* Added code for Alpha=255 pixel drawing through direct memory writes to all routinesresulting in a much faster performance (factor 5 to 20) for non transparent pixels.* New test and benchmark program with better info and nicer look.* More info in README. Proper licence file. Comment cleanup.Ver 1.0 - Fri Mar 16 08:38:07 EST 2001* Initial releaseSDL_rotozoom:-------------Ver 1.6 - Mon Nov 19 21:19:26 EST 2001* Added interpolation to alpha channel (simplifies code)* Ran the sourcecode through 'indent' for better readabilityVer 1.5 - Sat Jul 7 13:02:07 EDT 2001* Added project files (VisualC.zip) and modifications for VC project building.* Fixed old versioning in configure.in file.* Fixed LICENSE file and LGPL source reference.Ver 1.4 - Mon Jun 4 12:15:31 EDT 2001* Removed SDL_SoftStretch call again in favour of an internal zoom routine.* Added new zoomSurface() function with seperate X and Y zoom factors.Ver 1.3 - Thu May 31 08:37:36 EDT 2001* Modified code to handle RGBA or ABGR source surfaces transparently.* More error checking, source surface locking.* Slighly expanded test program with event handling.Ver 1.2 - Wed May 30 18:18:05 EDT 2001* Fixed the completely broken 32bit routine's pointer arithmetic.* Uses SDL_SoftStretch in certain cases (angle=0, smooth=0).* Convert source surface on the fly if not 8/32bit.* Added license file - was empty before (duh).Ver 1.1 - Wed May 23 15:04:42 EDT 2001* Added automake/autoconf scripts and testprogram.Ver 1.0 - Fri Mar 16 08:16:06 EST 2001* Initial release</pre><p></div><h3>Thanks</h3><div style="margin-left:0.6cm;">This library is used in the <i>AppWares Development Group</i>'s IMP product andthanks goes out out to them for supporting this project - please visit <a href="http://www.appwares.com">http://www.appwares.com</a>for more information.<p></div><h3>Contributors</h3><div style="margin-left:0.6cm;"><p>* Fix for filledbox by Ingo van Lil, inguin at gmx.de - thanks Ingo.<p>* Non-alpha line drawing code adapted from routine by Pete Shinners, pete at shinners.org - thanks Pete.<p>* More fixes by Karl Bartel, karlb at gmx.net - thanks Karl.<p>* Much testing and suggestions for fixes from Danny van Bruggen, danny at froukepc.dhs.org - thanks Danny.<p>* AA-circle/-ellipse code idea from Stephane Magnenat, nct at wg0.ysagoon.com - thanks Stephane.<p>* Faster blending routines contributed by Anders Lindstr鰉, cal at swipnet.se - thanks Anders.<p>* VisualC makefile contributed by Danny van Bruggen, danny at froukepc.dhs.org - thanks Danny.<p>* VisualC7 project file contributed by James Turk, jturk at conceptofzero.com - thanks James.<p>* Project Builder package contributed by Thomas Tongue,TTongue at imagiware.com - Thanks Thomas.<p>* Fix for filledPolygon contributed by Kentaro Fukuchi fukuchi at is.titech.ac.jp - Thanks Kentaro.<p>* QNX6 patch contributed by Mike Gorchak, mike at malva.ua - Thanks Mike.<p>* Pie idea contributed by Eike Lange, eike.lange at uni-essen.de - Thanks Eike.<p>* Dynamic font setup by Todor Prokopov, koprok at dir.bg - Thanks Todor.</div><br><br></td></tr></table></body></html>
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -