All notable changes to the gtk-fortran project are documented in this file. The format is based on Keep a Changelog.
- In
src/colormap_class.f90
: afinalize
method for memory cleanup.
- In
fpm.toml
,name = "forcolormap"
is now lower case because fpm dependencies are case sensitive.
-
Development:
- A
ROADMAP.md
file. - A fpm workflow for testing.
- A GitHub workflow for the CMake build by @jchristopherson.
- CMake support by @jchristopherson.
- A
-
Documentation:
- A FORD documentation with a CI workflow, generating https://vmagnin.github.io/forcolormap/
example/colormaps_list.f90
is creating thecolormaps_list/COLORMAPS_LIST_*.md
files using theColormaps_info
class.- A
colormaps_list/ForColormap.pdf
manual listing all the available colormaps. - A link toward the page ForColormap Collection Categories was added in the
README.md
to help users choose a colormap.
- A
- A
gallery/
directory with screenshots of simulations using ForColormap. - A
README.md
file in each subdirectory describing the files inside. - A
logo
directory with SVG files by @alozada.
-
New modules:
- The
src/colormaps_info.f90
module contains information about colormaps, that can be printed or written in the terminal or to a.md
file. Information can be filtered based on 8 parameters and printed in 4 different ways.example/info.f90
COLORMAPS_LIST.md
: generated by the module.
- A
src/forcolormap_utils.f90
module with the subroutinetest_colormap()
. - A
colormap_parameters
module. - A
miscellaneous_colormaps
module.
- The
-
New routines:
- A
colorbar()
type-bound procedure to write a PPM file with the colorbar of a colormap. - A
reverse()
method to reverse a colormap.- A
reverse
boolean option was added to the methodsset
,create
, andload
to reverse a colormap. - An
example/demo_reverse.f90
example.
- A
- A
shift()
method to apply a circular shift to a colormap (left is +, right is -).example/modify.f90
demonstrates how you can modify a colormap with methods like shift(), in concrete cases.
- Methods
create_lagrange()
andcreate_bezier()
insrc/colormap_class.f90
to create a colormap from continuous interpolation of control colors.example/create.f90
demonstrates creating a custom colormap using methods likecreate_lagrange()
andcreate_bezier()
.
- An
extract()
type-bound procedure to the Colormap type to extract colors from a colormap. The extracted number should be within the range [2, levels].example/extract.f90
- A private
check()
method in the Colormap class. It checks the validity of the colormap and its parameters, prints warnings, and fixes problems if necessary. - Two private functions:
scale_real_real
andscale_real_int
.
- A
-
New colormaps:
- The "magma", "inferno","plasma", "viridis" matplotlib colormaps in a
matplotlib_colormaps
module. - The discrete colormaps of the Scientific Colour Maps collection, thanks to the
scripts/gpl_to_lut.f90
program. - A
black_body
colormap (miscellaneous).
- The "magma", "inferno","plasma", "viridis" matplotlib colormaps in a
-
A gtk-fortran example using ForColormap: https://github.com/vmagnin/gtk-fortran-extra/tree/main/reaction_diffusion
- In
example/demo.f90
andexample/demo_reverse.f90
, the discrete colormap created from an array is now a colormap designed by @alozada resembling the color changes in red cabbage (containing Anthocyanins) with pH. - Subroutine
test_colormap()
: theencoding
argument is now optional (binary by default). - The colormap
inverted_rainbow
was renamedinv_rainbow
. - Renamed
get_current()
toget_name()
. src/colormap_class.f90
:private
statement is now the default.- For writing PPM files, the project ForImage by @gha3mi is now used as a fpm dependency. The related example must now be launched with
fpm run --example example1
and the ForColormap demo byfpm run --example demo
. - Code refactoring.
- The naive "grey" colormap: you should use "grayC" instead.
- The "inverted_grey" colormap which can now be obtained from "grayC" with the
reverse=.true.
option. scripts/cp_lut_files.sh
since its functionality is now included in thescripts/gpl_to_lut.f90
program.
First code commit.