{"id":13418532,"url":"https://github.com/serge-rgb/milton","last_synced_at":"2025-05-15T16:05:21.066Z","repository":{"id":29374317,"uuid":"32909108","full_name":"serge-rgb/milton","owner":"serge-rgb","description":"An infinite-canvas paint program","archived":false,"fork":false,"pushed_at":"2023-06-04T06:10:30.000Z","size":28227,"stargazers_count":1689,"open_issues_count":72,"forks_count":138,"subscribers_count":48,"default_branch":"master","last_synced_at":"2025-03-31T22:14:17.659Z","etag":null,"topics":["c","infinite-canvas","milton","opengl","paint","sdl","vector-graphics-editor","windows"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/serge-rgb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2015-03-26T05:24:12.000Z","updated_at":"2025-03-30T16:38:34.000Z","dependencies_parsed_at":"2022-07-20T03:32:37.127Z","dependency_job_id":"7a743b35-0c39-441f-b571-3cc770a688b0","html_url":"https://github.com/serge-rgb/milton","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serge-rgb%2Fmilton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serge-rgb%2Fmilton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serge-rgb%2Fmilton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serge-rgb%2Fmilton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serge-rgb","download_url":"https://codeload.github.com/serge-rgb/milton/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247744291,"owners_count":20988781,"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":["c","infinite-canvas","milton","opengl","paint","sdl","vector-graphics-editor","windows"],"created_at":"2024-07-30T22:01:03.403Z","updated_at":"2025-04-07T23:02:52.066Z","avatar_url":"https://github.com/serge-rgb.png","language":"C++","funding_links":["https://www.patreon.com/serge_rgb?ty=h"],"categories":["TODO scan for Android support in followings","C++"],"sub_categories":[],"readme":"![MiltonLogo](http://i.imgur.com/ADgRZUB.png)\n\n[Milton](https://github.com/serge-rgb/milton) is an open source application that lets you Just Paint.\n\nThere are no pixels, you can paint with (almost) infinite detail. It feels raster-based but it works with vectors.\nIt is not an image editor. It is not a vector graphics editor. It is a program that lets you draw, sketch and paint.\nThere is no save button, your work is persistent with unlimited undo.\n\n### [Latest release](https://github.com/serge-rgb/milton/releases/)\n\n![Milton Paint ss](http://i.imgur.com/4pdHeeI.png)\n\n![zoooom](http://i.imgur.com/fqOhPlr.gif)\n\n\nWhat Milton is not:\n-------------------\n\nMilton is not an image editor or a vector graphics editor. It's a program that\nlets you draw, sketch and paint.\n\nUser Manual\n===========\n\nIf the GUI makes something not-obvious, please create a github issue!\n\nIt's very helpful to drag the mouse (or pen) while pressing `space` to pan the\ncanvas.  Also, switching between the brush and the eraser with `b` and `e`.\nYou can change the brush size with `[` and `]` and control the transparency\nwith the number keys.\n\nHere is the  [latest video tutorial](https://www.youtube.com/watch?v=g27gHio2Ohk)\n\nCheck out the [patreon page](https://www.patreon.com/serge_rgb?ty=h) if you would like to help out. :)\n\nWhile on Windows there are binaries available, for Milton on Linux or OSX you will have to compile from source. There are some basic build instructions below. They will probably build, but please be prepared to do a bit of debugging on your end if you run into trouble, since these are not the primary development platforms.\n\nHow to Compile\n==============\n\nWindows\n-------\n\nMilton currently supports Visual Studio 2019.\n\nOther versions of Visual Studio might not work.\n\nTo build:\n\nRun a x64 developer command prompt (for VS 2019 this corresponds to the \"x64 Native Tools Command Prompt\") and type the following:\n\n```\nbuild.bat\n```\n\nMilton will be compiled to `build\\Milton.exe`\n\n\nThis repo provides a binary SDL.lib that was compiled by running\n`build_deps.bat` in the `third_party` directory.\n\n\nLinux and macOS\n---------------\n\nAs of 2018-10-24, linux and mac are not officially supported. I (Sergio) would like to support them again but my efforts are currently going into producing a new release for Windows. You can try and compile with the included scripts, but things will likely not work!\n\nOn 2021-02-27 a successful build for Linux can be done with these steps:\n\nWhile in the milton top directory\n```\ncd third_party/SDL2-2.0.8\nmkdir build\ncd build\ncmake -DVIDEO_WAYLAND=OFF -DCMAKE_INSTALL_PREFIX=linux64 -DCMAKE_BUILD_TYPE=Debug ../\nmake\nmake install\n```\n\nand then in the milton top directory, so ```cd ../../../```,\n```\nmkdir build\ncd build\ncmake ../\nmake\n```\n\nAnd if successful, you should have an executable called \"Milton\" that runs.\n\nI did not make this work automatically with CMake, because I don't know CMake.\n\nVersioning scheme\n=================\n\nMilton uses a MAJOR.MINOR.PATCH versioning scheme, where MAJOR keeps track of very significant changes, such as a UI overhaul. MINOR keeps track of binary file format compatibility. PATCH is incremented for new releases that do not break file format compatibility. PATCH version gets reset to 0 when the MINOR version increases.\n\nFor example, Milton version 1.3.1 can read mlt files produced any previous version, but it can't read files produced by 1.4.0\n\n\nLicense\n=======\n\n    Milton\n\n    Copyright (C) 2015 - 2018 Sergio Gonzalez\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n\nThanks\n======\n\nMilton is made with love by Sergio Gonzalez with the help of [awesome\npeople](https://github.com/serge-rgb/milton/blob/master/CREDITS.md).\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserge-rgb%2Fmilton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserge-rgb%2Fmilton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserge-rgb%2Fmilton/lists"}