Commit Graph

148 Commits

Author SHA1 Message Date
Jonas Maebe
4ebd215a8c * changed definition of getscanlineproc to "getscanline(x1,x2,y:
integer; var data);" so it can be used by getimage too
  * changed getimage so it uses getscanline
  * changed floodfill, getscanline16 and definitions in Linux
    include files so they use this new format
  + getscanlineVESA256 for 256 color VESA modes (banked)
1999-12-11 23:41:38 +00:00
pierre
54874916af * SetBkColor like BP by changing Palette entry zero 1999-12-10 12:47:41 +00:00
michael
514f0f9879 + Additional logging 1999-12-04 21:20:04 +00:00
michael
1eb4bfc435 + Removed charmessagehandler declaration, it is in graphh.inc 1999-11-30 08:57:46 +00:00
Jonas Maebe
db5cdd7387 * corrected misplacement of call to initvars in initgraph
+ some extra debugging commands (for -dlogging) in the mode functions
1999-11-28 16:13:55 +00:00
Jonas Maebe
6ad29d29a6 * _GraphResult is now properly set to grOK by DetectGraph and
InitGraph if there are no errors
1999-11-28 12:19:59 +00:00
Jonas Maebe
acabc4c7fa * fixed VlineVESA256 and re-enabled it in graph.inc
* added procedure detectgraph to interface of graph unit
1999-11-27 21:48:00 +00:00
pierre
926f82efc1 * memory corruption within GetImage removed 1999-11-25 17:44:14 +00:00
pierre
2719fb91e8 * PutImage used an integer index that became negative !!!!
* Default needed procedure now genrate a RTE 218 instead of a
    GPF by call to nil pointer !
1999-11-24 23:42:31 +00:00
florian
1736a7d64d * extgraph moved to win direcory 1999-11-24 22:12:06 +00:00
florian
254c43d6b7 * the writing of the default font was wrong when doing scaling:
the last colunm/row wasn't drawn
1999-11-11 22:29:21 +00:00
florian
3839c77a58 * the size was calculated wrong by imagesize 1999-11-11 17:55:07 +00:00
florian
2c4cddd82d * better looking font 1999-11-11 14:07:14 +00:00
peter
79d331a978 * fpcmake support 1999-11-08 15:01:38 +00:00
peter
6dac8462c5 * move graph.inc to the target dir 1999-11-08 11:15:21 +00:00
Jonas Maebe
887c7e173b * fixed pascal version of (direct)putpixelx 1999-11-05 12:18:23 +00:00
florian
707675a501 + first release of win32 gui support 1999-11-03 20:23:01 +00:00
carl
f7e31f50f6 * Bugfix of mode m800x600x64k - wrong vide mode would be used.
+ TP compilable.
1999-10-24 15:51:22 +00:00
carl
3faddeae49 * Bugfix in TP mode SaveStateVESA 1999-10-24 15:50:23 +00:00
carl
28c0ca8f49 + GetPixVESA16 (not tested yet...) 1999-10-24 03:37:15 +00:00
carl
a3f4314a19 - Removed some old french comments.
* Bugfix of problems with register access in noasmmoded
  + GetPixVESA16
1999-10-24 03:34:37 +00:00
carl
ed837de14c - Removed Hercules mode
+ Added VGAMed and VGAhi modes.
1999-10-24 01:55:53 +00:00
Jonas Maebe
d6cb636d80 * fixed clipping for thickwidth lines (bug 659)
* fixed the faster internalellipsedefault, but it doesn't plot
    all pixels (there are gaps in the ellipses)
1999-10-17 10:20:13 +00:00
Jonas Maebe
0fa97f88ea * fixed set/getvgargbpalette for VGA 16 color modes 1999-10-08 14:28:18 +00:00
Jonas Maebe
85f0d28bf1 * fix for disposing font data because it can contain #0 chars 1999-09-28 15:07:46 +00:00
Jonas Maebe
03980540bd * reordered some local variables (first 4 byte vars, then 2 byte vars
etc)
  * font data is now disposed in exitproc, exitproc is now called
    GraphExitProc (was CleanModes) and resides in graph.pp instead of in
    modes.inc
1999-09-28 13:56:25 +00:00
peter
85c3b9ff3b * new graph unit is default for go32v2
* removed warnings/notes
1999-09-27 23:34:40 +00:00
Jonas Maebe
de09b385d3 * execute multiplications before divisions in lineclipped to avoid rounding errors 1999-09-27 12:35:27 +00:00
Jonas Maebe
aa5751acbc * changed name of modeinfo variable to vesamodeinfo and fixed
associated errors (fillchar(modeinfo,sizeof(tmodeinfo),#0) instead
    of sizeof(TVesamodeinfo) etc)
  * changed several sizeof(type) to sizeof(varname) to avoid similar
    errors in the future
1999-09-26 13:31:06 +00:00
Jonas Maebe
bd4d132c5b + detectgraph
* small change to internalellipsedefault so less pixels are
    calculated twice
  * some small corrections to graph.tex
1999-09-25 11:48:43 +00:00
Jonas Maebe
5f0cf70477 * optimized patternline a bit (always use hline when possible)
* isgraphmode stuff cleanup
  * vesainfo.modelist now gets disposed in cleanmode instead of in
    closegraph (required moving of some declarations from vesa.inc to
    new vesah.inc)
  * queryadapter gets no longer called from initgraph (is called from
    initialization of graph unit)
  * bugfix for notput in 32k and 64k vesa modes
  * a div replaced by / in fillpoly
1999-09-24 22:52:38 +00:00
Jonas Maebe
3e14491ff2 * floodfill uses scanline data from previous loop if line is adjacent 1999-09-24 14:23:08 +00:00
Jonas Maebe
c8541db634 + getscanline16 1999-09-24 14:22:38 +00:00
Jonas Maebe
cc0428dcda * fixed another typo :( 1999-09-24 11:31:38 +00:00
Jonas Maebe
5edf8b5488 * -dlogging no longer required to fuction correctly
* some typo's fixed
1999-09-23 14:00:41 +00:00
Jonas Maebe
7e28f32cdc * changed ratios so font sizes on screen are the same as with TP
* SetUserCharSize must also use / instead of DIV
1999-09-22 14:54:11 +00:00
Jonas Maebe
cd377606a4 * changed org_to_cap, org_to_dec and org_to_base to shortints (from
Michael Knapp's gxtext unit, part of the GraphiX package)
  * in settextstyle, the calculation of the ratios must be done with /,
    not DIV!!
1999-09-22 13:30:52 +00:00
Jonas Maebe
47b14faf20 * renamed text.inc -> gtext.inc to avoid conflict with system unit
* fixed textwidth
  * isgraphmode now gets properly updated, so mode restoring works
    again
1999-09-22 13:13:34 +00:00
florian
c9110d73e3 * conflicts solved 1999-09-20 09:34:30 +00:00
Jonas Maebe
4e43bad546 + hlinevesa256 and vlinevesa256
+ support for not/xor/or/andput in vesamodes with 32k/64k colors
  * lots of changes to avoid warnings under FPC
1999-09-18 22:21:09 +00:00
Jonas Maebe
34f074549c * graph.pp: removed pieslice and sector from ToDo list
* closegraph: exits now immidiately if isgraphmode = false (caused
    RTE 204 with VESA enabled if you set exitproc to call closegraph
    and also called closegraph explicitely before exit, like bgidemo)
1999-09-18 16:03:36 +00:00
Jonas Maebe
e188d82aec * another fix for a case where internalellipsedefault went haywire
* sector() and pieslice() fully implemented!
* small change to prevent buffer overflow with floodfill
1999-09-17 13:58:31 +00:00
Jonas Maebe
6ea818a303 * small change to internalellipsedef to be TP compatible
* fixed directputpixel for vga 320*200*256
1999-09-15 13:37:50 +00:00
Jonas Maebe
ecd28082fd * fixed PutPixVESA256 1999-09-15 11:40:30 +00:00
Jonas Maebe
66e28ab9c1 * fixed Arc: internallellipse went into an endless loop if StAngle =
EndAngle
  * FillEllipse is now much faster: no more floodfill,
    InternalEllipseDefault now draws the patternlines immediatety!
1999-09-13 12:49:08 +00:00
Jonas Maebe
062f4e5991 * several changes to internalellipse to make it faster
and to make sure it updates the ArcCall correctly
    (not yet done for width = 3)
  * Arc mostly works now, only sometimes an endless loop, don't know
    why
1999-09-12 17:28:59 +00:00
florian
947db5dbe3 * fixed outtext(''), c was a byte, this leads to an underflow and
garbage was written
1999-09-12 08:02:22 +00:00
Jonas Maebe
cb55fd4de2 * FloodFill: did not take into account current viewport settings
* GetScanLine: only get line inside viewport, data outside of it
    is not used anyway
  * InternalEllipseDefault: fix for when xradius or yradius = 0 and
    increase xradius and yradius always by one (TP does this too)
  * fixed conlict in vesa.inc from last update
  * some conditionals to avoid range check and overflow errors in
    places where it doesn't matter
1999-09-11 19:43:00 +00:00
Jonas Maebe
bee7f62011 * removed and/or/xorput support from vesaputpix256 (not in TP either)
* added notput support to directputpix256
1999-08-01 14:51:07 +00:00
Jonas Maebe
51cc22f9c6 * fixed hline16 and vline16 for notput (also TP supports copy, and, or, xor and
notput for lines!!)
  * fixed directputpixel16 to support all the different put types
1999-08-01 14:50:51 +00:00
florian
49f7b705a6 * bar: y2 can be less y1, fixed
* settextstyle: charsize can be 0, must be changed into 1
1999-07-26 09:38:41 +00:00
Jonas Maebe
c023f717f1 + xor-, and and- orput support for VESA256 modes
* compile with -dlogging if you wnt some info to be logged to grlog.txt
1999-07-18 15:07:19 +00:00
florian
ddf0f0389b * cosmetic changes 1999-07-14 18:18:02 +00:00
florian
0014fa54a3 * HLine16 and VLine16 implemented 1999-07-14 18:16:23 +00:00
Jonas Maebe
a1e0551898 * fixed initialization of bankshift var ('64 shr banshift' instead of shl) 1999-07-14 15:21:49 +00:00
florian
7821e9580a * small VGA detection problem solved 1999-07-14 14:32:12 +00:00
Jonas Maebe
3f127e3afc * bugfix in getmodeinfo (SizeOf(TModeInfo) -> SizeOf(TVESAModeInfo))
* as the result of the above bugfix, the graph unit doesn't crash
    anymore under FPC if compiler with -dsupportVESA, but it doesn't
    work yet either...
1999-07-14 13:17:29 +00:00
Jonas Maebe
d6f11f2061 * fixed procvar syntax error and ceil and floor functions 1999-07-12 14:52:52 +00:00
Jonas Maebe
8c70a5f38a * forgot log tag in previous commit 1999-07-12 13:28:33 +00:00
Jonas Maebe
d045295cd4 + added Log and Id tags
* added first FPC support, only VGA works to some extend for now
  * use -dasmgraph to use assembler routines, otherwise Pascal
    equivalents are used
  * use -dsupportVESA to support VESA (crashes under FPC for now)
  * only dispose vesainfo at closegrph if a vesa card was detected
  * changed int32 to longint (int32 is not declared under FPC)
  * changed the declaration of almost every procedure in graph.inc to
    "far;" becquse otherwise you can't assign them to procvars under TP
    real mode (but unexplainable "data segnment too large" errors prevent
    it from working under real mode anyway)
1999-07-12 13:27:06 +00:00
carl
cedb198a59 * Bugfix of palette setting under VESA (Thanks Tom) 1999-06-26 02:34:07 +00:00
carl
c3929d7354 + Hardware pages 1999-06-26 02:33:33 +00:00
carl
88c2f7a274 + Hardware pages for VESA modes 1999-06-26 02:33:16 +00:00
carl
2b0159828c + Added support for hardware paging
* Bugfix of palrec under FPC
1999-06-26 02:32:30 +00:00
carl
a4c889ced7 + up to SetUserCharSize added. 1999-06-02 01:50:53 +00:00
carl
b0bdd46ee1 * Bugfixes for RegisterBGIFont which can be called BEFORE
InitGraph.
1999-05-30 23:07:59 +00:00
carl
dcc1d5f92b * RegisterBGIFont would not return a FONT number! 1999-05-30 23:07:14 +00:00
carl
a998ce5455 - I have no idea :(... 1999-05-30 23:06:04 +00:00
carl
a890a867af + ImageSize() to Sector() documentation reviewed and updated. 1999-05-30 23:04:50 +00:00
carl
1bca153f22 * getVESAInfo (real mode) would always return TRUE, this would crash
windowed VESA modes.
  * getVESAInfo (protected mode) would still continue on with
      setting up the VESA structure, even if VESA was not
      detected!
1999-05-27 01:15:42 +00:00
carl
7fc8c21520 + Reference for routines: Arc through ImageSize
+ Introduction
1999-05-24 13:48:14 +00:00
carl
672beecbc7 + x86 DOS routines (NOT PART OF OFFICIAL FPC RTL! Test only) 1999-05-24 13:47:22 +00:00
carl
5fbeb2c6dc + VESA support (NOT PART OF FPC RTL - test file only!) 1999-05-24 13:46:37 +00:00
carl
26445ed1ce + TEST FILE!!! NOT OFFICIALLY PART OF FPC!
(Implements DPMI server real mode interrupt)
1999-05-24 13:45:53 +00:00
carl
3ff2cdf4a9 + Added some color constants
+ Added DirectColor support
1999-05-24 13:44:59 +00:00
carl
1f74328581 + Added checking and exit when in DirectColor mode 1999-05-24 13:44:20 +00:00
carl
0b1a558a5a + Added DirectColor support 1999-05-24 13:43:50 +00:00
carl
695a38934e + Default RGB color tables
* NOTE: The palette routine currently do not work in 24 bpp and
    32 bpp modes, and there is currently NO error checking for that!
1999-05-22 21:29:18 +00:00
carl
66da57e934 * EGAxxxx color constants
+ SetRGBPalette, GetRGBPalette
1999-05-22 17:13:46 +00:00
carl
a4d8838546 + SetAllPalette
+ SetPalette
  + GetPalette
  + GetDefaultPalette
1999-05-22 17:11:50 +00:00
carl
bd452e05a9 + Added SetRGBPalette
+ Added GetRGBPalette
1999-05-22 17:10:40 +00:00
florian
e905aeea04 * most of the Object Pascal stuff moved to the system unit 1999-05-17 21:52:33 +00:00
carl
93438c3ba4 * Correction of documentation 1999-05-09 23:16:12 +00:00
carl
5ba476e64a + More error checking 1999-05-09 23:15:27 +00:00
carl
8e45cea1c3 + VESA Driver name 1999-05-09 22:24:38 +00:00
carl
040fa666a8 + SetActivePage
+ SetVisualPage
  * Some bugfixes
  * Experimentation with new method for arc/ellipse
1999-05-05 02:16:40 +00:00
carl
32195301c8 * GetViewSettings was not returning correct values 1999-05-02 21:26:45 +00:00
carl
417eb205d6 * longint -> Integer would not compile. 1999-04-25 02:29:23 +00:00
carl
23c364f842 + Fully implemented clipping
* PatternnLine now calls HLine if the lines to draw are
      non-patterned (10-15% speedv improvement)
1999-04-25 02:28:54 +00:00
carl
a6a9da360d * ClearViewPort was wrong ,and is now 75% faster
* Some clipping added by replacing DirectPutPixel -> PutPixel
1999-04-25 00:31:37 +00:00
carl
28f657b4db * DirectPutPixel -> PutPixel to enable clipping 1999-04-25 00:29:58 +00:00
carl
aa8128e317 + RestoreCRTMode
* GetModeRange returned one mode too much
  + Some cleanup
1999-04-24 18:56:13 +00:00
carl
1a45ac6847 + Some cleanup
* Bugfix of Detect in InitGraph
1999-04-24 18:55:21 +00:00
carl
be5b9b5f6e + SetGraphMode()
+ InitGraph() is now device independant
  + Mode management and some mode constants
1999-04-23 03:06:35 +00:00
carl
8d2d8a5279 + Mode management helper routines 1999-04-23 03:05:06 +00:00
carl
3249707b22 + Initial revision (still uncompilable though) 1999-04-19 02:50:31 +00:00
carl
d4fc7066ab + Initial revision (still uncompilable) 1999-04-19 02:49:01 +00:00
carl
b67ce16a85 + Initial revision (still unworking under FPC) 1999-04-19 02:48:14 +00:00