GithubHelp home page GithubHelp logo

gr1n / easypaint Goto Github PK

View Code? Open in Web Editor NEW
87.0 14.0 40.0 2.02 MB

Yet another painting software

License: MIT License

Shell 0.62% C++ 95.55% C 0.64% CMake 1.69% Makefile 0.15% QMake 1.35%
graphics-painting c-plus-plus paint qt

easypaint's People

Contributors

3rt avatar bruceoutdoors avatar bsiamionau avatar denisklimenko avatar faulknercs avatar gr1n avatar klion26 avatar twse avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

easypaint's Issues

Change pen style

Make pen\line\ellipse\etc painted squares instead of circles.

Handle file arguments

Handle passing one or more files to easypaint.
Might be a good time to add --help and --version along with that.

Make install fails

sudo make install
[sudo] password for adys:
[100%] Built target easypaint
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/bin/easypaint
-- Removed runtime path from "/usr/local/bin/easypaint"
-- Installing: /usr/local/share/applications/easypaint.desktop
CMake Error at cmake_install.cmake:58 (FILE):
file INSTALL cannot find
"/home/adys/src/chromic/easypaint/sources/media/logo/easypaint.png".

make: *** [install] Error 1

Resize area

Change resize area algorithm. Only borders (like selection borders) of new image area must be shown when you dragging it by point on the bottom left corner. Area will be resized after drop event. This algorithm will be much faster than current.

Logo

Develop an icon for application.

Instruments in menu bar

Add new menu item in menu bar with painting instruments. Do all instruments items is checkable.

Pipette improvements

  • Show color of currently hovered pixel in statusbar while the pipette is active (if possible as both hex and rgb)
  • Switch back to previous tool once the pipette picked a color.

Gray effect

When the effect is applied on the small image error occurs.

Icons for actions

Add icons for actions which used when default (system) theme not found.

XDG compatibility

add easypaint.desktop (to /usr/share/applications) and easypaint.png[s](to /usr/share/pixmaps|icons) - to be in main menu. Linux specific.

Compiling fails

adys@azura ~/src/chromic/easypaint/build % make
Linking CXX executable easypaint
CMakeFiles/easypaint.dir/sources/mainwindow.cpp.o: In function MainWindow::settingsAct()': mainwindow.cpp:(.text+0x4f76): undefined reference toSettingsDialog::SettingsDialog(QWidget_)'
mainwindow.cpp:(.text+0x4f98): undefined reference to SettingsDialog::sendSettingToSingleton()' mainwindow.cpp:(.text+0x4fc0): undefined reference toSettingsDialog::~SettingsDialog()'
mainwindow.cpp:(.text+0x4fd9): undefined reference to SettingsDialog::~SettingsDialog()' CMakeFiles/easypaint.dir/sources/moc_settingsdialog.cxx.o: In functionSettingsDialog::qt_static_metacall(QObject_, QMetaObject::Call, int, void*_)':
moc_settingsdialog.cxx:(.text+0x42): undefined reference to SettingsDialog::itemSelectionChanged()' moc_settingsdialog.cxx:(.text+0x5e): undefined reference toSettingsDialog::textChanged(QString const&)'
moc_settingsdialog.cxx:(.text+0x6c): undefined reference to SettingsDialog::reset()' CMakeFiles/easypaint.dir/sources/moc_settingsdialog.cxx.o:(.rodata._ZTV14SettingsDialog[vtable for SettingsDialog]+0x28): undefined reference toSettingsDialog::~SettingsDialog()'
CMakeFiles/easypaint.dir/sources/moc_settingsdialog.cxx.o:(.rodata._ZTV14SettingsDialog[vtable for SettingsDialog]+0x30): undefined reference to SettingsDialog::~SettingsDialog()' CMakeFiles/easypaint.dir/sources/moc_settingsdialog.cxx.o:(.rodata._ZTV14SettingsDialog[vtable for SettingsDialog]+0x1e8): undefined reference tonon-virtual thunk to SettingsDialog::~SettingsDialog()'
CMakeFiles/easypaint.dir/sources/moc_settingsdialog.cxx.o:(.rodata.ZTV14SettingsDialog[vtable for SettingsDialog]+0x1f0): undefined reference to `non-virtual thunk to SettingsDialog::~SettingsDialog()'
collect2: ld returned 1 exit status
make[2]: *
* [easypaint] Error 1
make[1]: *** [CMakeFiles/easypaint.dir/all] Error 2
make: *** [all] Error 2

Add settings dialog

Add settings dialog and some options: In settings dialog add two tabs:
First:

  • Hotkeys settings (issue #34)
    Second:
  • Default new image size
  • Interface language (issue #36)
  • History depth (for undo\redo) (issue #5)
  • Autosave (yes\no; if yes - # of seconds) (issue #37)

Problem with zoom in

This error appears when I'm trying to zoom in 5 times in a row.

QImage: out of memory, returning null image

Close events

Add close events (window and tab). When close tab or window show dialog for save images.

App test on Windows

Some bugs appear while running EasyPaint on windows (Denis found thouthands of it).
#56 is one of this, for example. I can't reprodice it on Ubuntu.

It's necessary to make some tests on windows to form list of bugs.
You can change label, cause I dunno which label is better to add.

Resize area action

Add resize area action. Also add resize dialog with spinbuttons to resize (look example at resizedialog.*). Also add resize offset (for example, add 50 pixels on each side)

Autosave

Add autosave (yes\no; if yes - # of seconds).

Cursor image problems

When tab created by opening file some strange cursor behaviour starts: it changes from instrument cursor to arrow cursor only when mouse passing area 3 times bigger than image size area.

Save As dialog

Add all Qt supported formats. Add a check of available formats, depending on the platform, for example: in Win not supported .xpm.

Zoom in/out

Ctrl+/Ctrl- as well as Ctrl+Mousewheel should implement zooming within the image.

Status tip

Add status tips for all actions, events, buttons and etc.

Hotkeys

Add hotkeys for instruments, actions, etc. Add ability to customize the hotkeys in the settings dialog.

Close tab\window error

Program goes down when close last tab.
Program goes dawn if image is edited and you save or no it from "Closing tab..." dialog.
Also set unenabled all button\actions which edited image area when no tabs.

Switching formats

Switching formats - truecolor/indexed/greyscale/bw; also - bit depth.
Maybe change "Effects" menu to other name and then also change name of Effects class.

Rename some tools

Rect -> Rectangle
Pipette -> Color picker
Loupe -> Magnifier or Glass (though tbh it should really just be a zoom widget, like at the bottomright or something)
Lastic: Eraser

Show image coords in statusbar

When hovering anywhere in the image, the coordinates within the image should be displayed in the statusbar.

In addition, when doing coordinate-based actions, those coords should be displayed as well; eg using the rectangle tool:

x123, y234 [ Rectangle of 150x160 ]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.