53 Commits

Author SHA1 Message Date
David Capello
8b1b624320 Replace NULL to nullptr in ui library 2020-04-08 17:48:06 -03:00
David Capello
34ec123ecc Remove MIN/MAX/MID macros from ui library 2019-12-20 15:08:34 -03:00
David Capello
c0fcef0240 Unify ToolTipManagers in MainWindow
In this way we avoid having too many message filters in the ui::Manager.
2018-12-13 14:08:56 -03:00
David Capello
105d389fdc Remove list of recipients from ui::Message 2018-12-13 10:11:56 -03:00
David Capello
f2ed45e795 Replace base::UniquePtr -> std::unique_ptr 2018-08-08 17:27:26 -03:00
David Capello
432eedcb97 Support changing theme and UI scaling w/o restart (fix #471) 2017-08-15 10:39:06 -03:00
David Capello
73999c5415 Fix several issues with UI Scaling > 100% (fix #1456) 2017-04-15 08:13:20 -03:00
David Capello
62db0c73a3 Fix clicking on a user data popup widgets
The textbox used in the tooltip was getting all clicks from the user. So on the user data popup we have to 1) don't set the title bar text, 2) if the title bar is not set the text box is hidden so will not eat all click messages.
2017-03-09 16:15:39 -03:00
David Capello
a62f12ad09 Move all code to draw windows to ui-lib w/new styles 2017-02-17 14:18:47 -03:00
David Capello
edf1cfd7b0 Add possibility to move the Timeline at the left/right side (fix #1169) 2016-09-15 11:07:36 -03:00
David Capello
455153d4b9 Change ui::TipWindow public API
Arrow align and target bounds are given as parameters of the new
TipWindow::pointAt() member function. Now TipWindow() contains a
default ctor.
2015-12-10 16:50:16 -03:00
David Capello
d02efbf315 Fix TipWindow background color 2015-12-10 16:46:01 -03:00
David Capello
d467d71fa5 Rename PopupWindow enums 2015-12-05 15:56:32 -03:00
David Capello
1aaeacc460 Refactor several "getNoun()" getters to "noun()"
This is a work-in-progress to create a consistent API and finally
separate the whole Aseprite base/gfx/ui libs into a reusable C++ library.

Classes:
app::IFileItem, app::AppMenuItem, app::skin::SkinPart,
gfx::Rect, gfx::Border, she::FileDialog,
ui::IButtonIcon, ui::Graphics, ui::Overlay, ui::Widget,
ui::ScrollableViewDelegate, and UI events
2015-12-04 14:39:04 -03:00
David Capello
cdd955441a Rename PreferredSize -> SizeHint 2015-12-03 21:50:05 -03:00
David Capello
78ba213471 Rename ui::Widget::getChildren() -> children()
Extra changes:
* Removed UI_FOREACH_WIDGET(), replaced with range-based for-loops
2015-12-03 19:46:13 -03:00
David Capello
110aa74dae Add required #include "ui/timer.h" in ui/tooltips.h 2015-08-28 14:45:56 -03:00
David Capello
a7ea0f7ec5 Add "Snap to Grid" indicator when it's enabled (fix #122) 2015-07-28 13:05:59 -03:00
David Capello
0b0cb56c1e Replace some UI_FOREACH_WIDGET() with range-based for loops 2015-06-29 15:42:34 -03:00
David Capello
a2538628c7 Convert ui::Widget::border_width/child_spacing to private fields 2015-06-23 19:20:49 -03:00
David Capello
f01b816fb5 Remove JI_ prefix from ui/base.h constants 2015-06-23 14:00:00 -03:00
David Capello
063f1d173c Fix TipWindow() ctor signature 2015-05-11 10:40:37 -03:00
David Capello
cea0970d9d Fix several bugs with tooltip arrows/location
The tooltip arrow is now aligned to the target. And the tooltip is
relocated to the other side if it intersects its target bounds.
2015-05-09 13:20:57 -03:00
David Capello
1b25c4e9e9 Add slots in the ContextBar to select brushes with Alt+1, Alt+2, etc.
Now the ContextBar contains a set of brushes. The ChangeBrushCommand
supports a new "slot" parameter and "change" = "custom" to select a
specific custom brush from the ContextBar. Alt+1, Alt+2, etc. are mapped
to this ChangeBrushCommand (see changes in gui.xml).

Also, as the ButtonSet that represent different brushes in the ContextBar
uses icons generated from the brush, we don't need the skin parts that
represent each brush type (we can generate those icons from some standard
brushes). Those skin parts were removed.
2015-04-29 12:32:44 -03:00
David Capello
ca9df1a05e Rename ui::jguiscale() to ui::guiscale()
* Change Theme::guiscale member to Theme::m_guiscale
2014-11-25 22:33:45 -03:00
David Capello
752faf11f2 Remove jmouse_[xyz]() functions 2014-11-25 22:10:28 -03:00
David Capello
bde2ddbe83 Remove ji_screen and ji_clock global variables
- Replace JI_SCREEN_W/H with ui::display_w/h()
- Remove GfxMode class
- Move drawing code of ColorCurveEditor widget to onPaint()
- Rename ji_clock -> ui::clock()
2014-08-31 14:17:49 -03:00
David Capello
4b7bf5b835 Merge she::Color and ui::Color types in gfx::Color 2014-06-28 16:10:39 -03:00
David Capello
dbad153698 Add she::Font class (wrapper of Allegro FONT)
This is an huge refactor to avoid handling Allegro FONT directly. Some
changes:
* Add she::System::defaultDisplay/Font, createRgbaSurface, loadSurface,
  and loadRgbaSurface.
* Rename she::CreateSystem/Instance to she::create_system/instance.
* Remove ui/font.cpp and move ui/fontbmp.cpp to she library.
* ui::IButtonIcon uses she::Surface instead of BITMAP.
* Rename she::LockedSurface::drawAlphaSurface -> drawRgbaSurface
* Rename ui::SetDisplay -> set_display
* Rename _ji_font_text_len -> ui::Graphics::measureUIStringLength
2014-06-22 18:53:14 -03:00
David Capello
b33357ed46 Remove base::string (std::string is good enough for utf8 strings) 2014-04-20 19:53:27 -03:00
David Capello
a34d181530 Add Widget::is/setTransparent property to paint a widget merged with its background
This fixes problems with tooltips, toolbar popups and context bar popups.
It fixes issue #297 (undo notifications rendering problems).
2014-04-19 18:51:42 -03:00
David Capello
4e7a084ced Remove unnecessary calls in TipWindow 2014-04-13 22:17:36 -03:00
David Capello
31e1b4e387 Close all TipWindow automatically on click 2014-04-13 20:40:44 -03:00
David Capello
c9bda7b329 Implement TipWindow in terms of PopupWindow 2014-04-13 19:35:15 -03:00
David Capello
78ce233756 Fix header of files distributed under the terms of the MIT license 2014-03-29 20:08:05 -03:00
David Capello
ad0b28bd63 Change Window() ctor to avoid ambiguity (DesktopWindow, WithoutTitleBar, or WithTitleBar)
In this way we know at the moment of the creation of the window if it
will need the close button.

Issue #280.
https://github.com/aseprite/aseprite/pull/6
2013-11-23 17:47:57 -03:00
David Capello
dbf4d0d490 Replace JRect/jrect struct with gfx::Rect
- Replaced Widget::rc -> Widget::m_bounds private member.
- Added Widget::offsetWidgets() method.
- Removed View::displaceWidgets().
2013-10-26 12:50:55 -03:00
David Capello
5b252c30f5 Add support for Unicode file names on Windows
- Fixed issue #46: open .png files with Unicode chars
- Fixed issue #150: ability to uncompress program in folders w/Unicode chars
- Added base::utf8_iterator
- Added base::FileHandle
- Added base::get_app_path()
- Modified ui::KeyMessage::ascii() -> unicodeChar()
- Removed JI_NOTEXT flag
- Added app::XmlDocumentRef class and app::open_xml() function
- Added support for Unicode text exchange with Win32 clipboard
2013-10-14 19:58:11 -03:00
David Capello
cde54f3682 Change BSD license to MIT in sublibraries and fix headers 2013-08-08 21:01:20 -03:00
David Capello
c88f9b172b Refactor: Move app files to src/app subdirectory inside app namespace
- Add HAVE_CONFIG_H wrapper to #include "config.h"
- Removed widgets namespace (it's in app now)
- Move some functions from src/file/file.h to src/base/cfile.h
- Move Vector2d to base library
- Rename MenuItem2 to AppMenuItem
2013-08-05 21:20:19 -03:00
David Capello
1614786408 Convert ui::Message union to a class hierarchy
+ Add ui::KeyScancode enum and ui::KeyModifiers flags.
+ Add ui::MouseButtons enum.
2013-07-28 21:17:07 -03:00
David Capello
3dbf6518f9 Replace all JM_ macros with ui::MessageType enum and add ui::RegisterMessage class to register new UI messages 2013-04-04 21:53:29 -03:00
David Capello
6e62bcb82f Add ui::WidgetType enum to replace JI_WIDGET macros 2013-04-03 22:07:24 -03:00
David Capello
9b8e87da10 Update copyright year to 2013 2013-01-27 12:13:13 -03:00
David Capello
95a0c6d0f4 Merge branch 'dev' of git@github.com:dacap/aseprite.git into dev
Conflicts:
	src/ui/popup_window.cpp
	src/ui/tooltips.cpp
	src/ui/tooltips.h
	src/ui/window.cpp
2013-01-13 22:45:25 -03:00
David Capello
eacd0c7642 Replace ui::jregion with gfx::Region class
This is an old TODO item, and it's the first step to finally
get rid of JRect and struct jrect.
2013-01-13 22:39:44 -03:00
David Capello
c5cf588370 Rename some member_functions to memberFunctions 2013-01-11 12:43:25 -03:00
David Capello
a517deee0d Add ui::Color and ThemeColor, move Color to app::Color
Now colors are customizable from skin.xml file.
2013-01-06 14:45:43 -03:00
David Capello
0496f38ed3 Fix a typo in all files distributed under BSD-like and Allegro licenses
Thanks to Tobias Hansen.
2012-09-23 23:24:43 -03:00
David Capello
14f24b1181 Refactor: replace JList with std::vector<> or std::list<>. 2012-07-17 21:42:02 -03:00