{"id":18847814,"url":"https://github.com/interkosmos/eggx-procall-2003","last_synced_at":"2026-02-01T10:30:14.575Z","repository":{"id":139285926,"uuid":"326776021","full_name":"interkosmos/eggx-procall-2003","owner":"interkosmos","description":"Fortran 2003 interfaces to the X11 graphics library EGGX/ProCALL","archived":false,"fork":false,"pushed_at":"2021-11-19T15:49:34.000Z","size":6164,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-30T13:57:33.142Z","etag":null,"topics":["eggx","fortran","graphics","plotting","procall","x11"],"latest_commit_sha":null,"homepage":"","language":"Fortran","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/interkosmos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-01-04T18:39:58.000Z","updated_at":"2024-05-04T00:34:24.000Z","dependencies_parsed_at":"2023-09-25T02:08:14.257Z","dependency_job_id":null,"html_url":"https://github.com/interkosmos/eggx-procall-2003","commit_stats":{"total_commits":17,"total_committers":1,"mean_commits":17.0,"dds":0.0,"last_synced_commit":"8e1b29193963a1595664f7e963670dd33ff93ce8"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interkosmos%2Feggx-procall-2003","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interkosmos%2Feggx-procall-2003/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interkosmos%2Feggx-procall-2003/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interkosmos%2Feggx-procall-2003/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/interkosmos","download_url":"https://codeload.github.com/interkosmos/eggx-procall-2003/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239783804,"owners_count":19696447,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eggx","fortran","graphics","plotting","procall","x11"],"created_at":"2024-11-08T03:09:44.532Z","updated_at":"2026-02-01T10:30:14.491Z","avatar_url":"https://github.com/interkosmos.png","language":"Fortran","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EGGX/ProCALL 2003\nModern Fortran modules that contain interfaces to the free X11 graphics\nlibrary [EGGX/ProCALL](https://www.ir.isas.jaxa.jp/~cyamauch/eggx_procall/).\nThe EGGX/ProCALL library provides fast and simple drawing routines on Linux,\nUnix, and Cygwin, directly callable from C or FORTRAN 77.\n\nEGGX/ProCALL 2003 is a wrapper around EGGX/ProCALL that includes:\n\n* Fortran 90 interfaces to the FORTRAN 77 ProCALL subroutines (module `procall`).\n* Selected Fortran 2003 ISO C binding interfaces to C functions in EGGX that do not have a FORTRAN counterpart (module `eggx`).\n* Named parameters of key codes, colour palettes, and output formats.\n\n## Build Instructions\nSimply clone the GitHub repository and execute the Makefile:\n\n```\n$ git clone https://github.com/interkosmos/eggx-procall-2003\n$ cd eggx-procall-2003/\n$ make\n```\n\nThe EGGX/ProCALL 0.95 source code is included in directory `vendor/eggx-0.95/`.\n\nLink your Fortran application with `vendor/eggx-0.95/libeggx.a`,\n`libeggx2003.a`, and `-lX11`, for instance:\n\n```\n$ gfortran -o demo demo.f90 libeggx.a libeggx2003.a -lX11\n```\n\n## Examples\nSee directory `examples/` for some demo applications:\n\n* **julia** draws the Julia set.\n* **mandelbrot** draws the Mandelbrot set.\n* **munch** renders a graphical pattern.\n* **peano** draws a [Peano curve](https://rosettacode.org/wiki/Peano_curve).\n* **snake** sprites-based implementation of the snake game.\n* **starfield** lets you fly through a starfield.\n* **tiles** draws text and a tileset to screen.\n* **wireframe** renders the 3D model of a Tie-Figher.\n\nCompile all programs with:\n\n```\n$ make examples\n```\n\nOr, use the name of a particular example. Run each program from its respective\ndirectory:\n\n```\n$ make \u003cname\u003e\n$ cd examples/\u003cname\u003e/\n$ ./\u003cname\u003e\n```\n\n## Screen Shots\n![Screen Shots](screenshots.png)\n\n## Documentation\nFor the official documentation, see the PDF file\n[vendor/eggx-0.95/eggx_procall.pdf](vendor/eggx-0.95/eggx_procall.pdf).\n\nGenerate the source code documentation with\n[FORD](https://github.com/cmacmackin/ford). Add FORD with `pip`, for example:\n\n```\n$ python3 -m venv virtual-environment/\n$ source virtual-environment/bin/activate\n$ python3 -m pip install ford\n```\n\nOr, instead, just install the package in your user directory:\n\n```\n$ python3 -m pip install --user ford\n```\n\nThen, run:\n\n```\n$ ford project.md -d ./src\n```\n\nOpen `doc/index.html` in a web browser.\n\n## Coverage\n### ProCALL\n\n| FORTRAN 77 routine | Fortran 2003 interface |\n|--------------------|------------------------|\n| arc                | arc                    |\n| arohd              | arohd                  |\n| circ1              | circ1                  |\n| clsc               | clsc                   |\n| clsx               | clsx                   |\n| copylayer          | copylayer              |\n| drawarc            | drawarc                |\n| drawarrow          | drawarrow              |\n| drawcirc           | drawcirc               |\n| drawline           | drawline               |\n| drawlines          | drawlines              |\n| drawnum            | drawnum                |\n| drawpoly           | drawpoly               |\n| drawpts            | drawpts                |\n| drawrect           | drawrect               |\n| drawstr            | drawstr                |\n| drawsym            | drawsym                |\n| drawsyms           | drawsyms               |\n| fillarc            | fillarc                |\n| fillcirc           | fillcirc               |\n| fillpoly           | fillpoly               |\n| fillrect           | fillrect               |\n| gclose             | gclose                 |\n| gcloseall          | gcloseall              |\n| gclr               | gclr                   |\n| ggetch             | ggetch                 |\n| ggetdisplayinfo    | ggetdisplayinfo        |\n| ggetevent          | ggetevent              |\n| ggetxpress         | ggetxpress             |\n| gopen              | gopen                  |\n| gsetbgcolor        | gsetbgcolor            |\n| gsetnonblock       | gsetnonblock           |\n| isnan              | isnan                  |\n| layer              | layer                  |\n| line               | line                   |\n| lineto             | lineto                 |\n| makecolor          | makecolor              |\n| moveto             | moveto                 |\n| msleep             | msleep                 |\n| newcolor           | newcolor               |\n| newcoordinate      | newcoordinate          |\n| newfontset         | newfontset             |\n| newhsvcolor        | newhsvcolor            |\n| newlinestyle       | newlinestyle           |\n| newpen             | newpen                 |\n| newpencolor        | newpencolor            |\n| newrgbcolor        | newrgbcolor            |\n| newwindow          | newwindow              |\n| number             | number                 |\n| plot               | plot                   |\n| plots              | plots                  |\n| pset               | pset                   |\n| putimg24           | putimg24               |\n| rtoc               | rtoc                   |\n| saveimg            | saveimg                |\n| selwin             | selwin                 |\n| setal              | setal                  |\n| symbol             | symbol                 |\n| tclr               | tclr                   |\n| vport              | vport                  |\n| window             | window                 |\n\n### EGGX\n| C function         | Fortran 2003 interface |\n|--------------------|------------------------|\n| gputimage          | eggx_gputimage         |\n| winname            | eggx_winname           |\n\n## Licence\nGNU GPL (EGGX/ProCALL), ISC (EGXX/ProCALL 2003)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterkosmos%2Feggx-procall-2003","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finterkosmos%2Feggx-procall-2003","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterkosmos%2Feggx-procall-2003/lists"}