mirror of
https://github.com/aseprite/aseprite.git
synced 2024-10-03 21:46:20 +00:00
Default color for new files is current selected "Background Color".
This commit is contained in:
parent
dceb182070
commit
4d60f6d560
@ -54,7 +54,7 @@ protected:
|
|||||||
|
|
||||||
static int _sprite_counter = 0;
|
static int _sprite_counter = 0;
|
||||||
|
|
||||||
static Sprite *new_sprite(Context* context, int imgtype, int w, int h, int ncolors);
|
static Sprite* new_sprite(Context* context, int imgtype, int w, int h, int ncolors);
|
||||||
|
|
||||||
NewFileCommand::NewFileCommand()
|
NewFileCommand::NewFileCommand()
|
||||||
: Command("new_file",
|
: Command("new_file",
|
||||||
@ -82,7 +82,7 @@ void NewFileCommand::execute(Context* context)
|
|||||||
};
|
};
|
||||||
int ncolors = 256;
|
int ncolors = 256;
|
||||||
|
|
||||||
/* load the window widget */
|
// Load the window widget
|
||||||
FramePtr window(load_widget("newspr.jid", "new_sprite"));
|
FramePtr window(load_widget("newspr.jid", "new_sprite"));
|
||||||
|
|
||||||
width = jwidget_find_name(window, "width");
|
width = jwidget_find_name(window, "width");
|
||||||
@ -93,33 +93,33 @@ void NewFileCommand::execute(Context* context)
|
|||||||
ok = jwidget_find_name(window, "ok_button");
|
ok = jwidget_find_name(window, "ok_button");
|
||||||
bg_box = jwidget_find_name(window, "bg_box");
|
bg_box = jwidget_find_name(window, "bg_box");
|
||||||
|
|
||||||
/* default values: Indexed, 320x200, Transparent */
|
// Default values: Indexed, 320x240, Background color
|
||||||
imgtype = get_config_int("NewSprite", "Type", IMAGE_RGB);
|
imgtype = get_config_int("NewSprite", "Type", IMAGE_INDEXED);
|
||||||
imgtype = MID(IMAGE_RGB, imgtype, IMAGE_INDEXED);
|
imgtype = MID(IMAGE_RGB, imgtype, IMAGE_INDEXED);
|
||||||
w = get_config_int("NewSprite", "Width", 320); /* default = 320 */
|
w = get_config_int("NewSprite", "Width", 320);
|
||||||
h = get_config_int("NewSprite", "Height", 200); /* default = 200 */
|
h = get_config_int("NewSprite", "Height", 240);
|
||||||
bg = get_config_int("NewSprite", "Background", 2); /* default = white */
|
bg = get_config_int("NewSprite", "Background", 4); // Default = Background color
|
||||||
|
|
||||||
width->setTextf("%d", w);
|
width->setTextf("%d", w);
|
||||||
height->setTextf("%d", h);
|
height->setTextf("%d", h);
|
||||||
|
|
||||||
/* select image-type */
|
// Select image-type
|
||||||
switch (imgtype) {
|
switch (imgtype) {
|
||||||
case IMAGE_RGB: jwidget_select(radio1); break;
|
case IMAGE_RGB: jwidget_select(radio1); break;
|
||||||
case IMAGE_GRAYSCALE: jwidget_select(radio2); break;
|
case IMAGE_GRAYSCALE: jwidget_select(radio2); break;
|
||||||
case IMAGE_INDEXED: jwidget_select(radio3); break;
|
case IMAGE_INDEXED: jwidget_select(radio3); break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* select background color */
|
// Select background color
|
||||||
jlistbox_select_index(bg_box, bg);
|
jlistbox_select_index(bg_box, bg);
|
||||||
|
|
||||||
/* open the window */
|
// Open the window
|
||||||
window->open_window_fg();
|
window->open_window_fg();
|
||||||
|
|
||||||
if (window->get_killer() == ok) {
|
if (window->get_killer() == ok) {
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
|
|
||||||
/* get the options */
|
// Get the options
|
||||||
if (jwidget_is_selected(radio1)) imgtype = IMAGE_RGB;
|
if (jwidget_is_selected(radio1)) imgtype = IMAGE_RGB;
|
||||||
else if (jwidget_is_selected(radio2)) imgtype = IMAGE_GRAYSCALE;
|
else if (jwidget_is_selected(radio2)) imgtype = IMAGE_GRAYSCALE;
|
||||||
else if (jwidget_is_selected(radio3)) imgtype = IMAGE_INDEXED;
|
else if (jwidget_is_selected(radio3)) imgtype = IMAGE_INDEXED;
|
||||||
@ -131,7 +131,7 @@ void NewFileCommand::execute(Context* context)
|
|||||||
w = MID(1, w, 9999);
|
w = MID(1, w, 9999);
|
||||||
h = MID(1, h, 9999);
|
h = MID(1, h, 9999);
|
||||||
|
|
||||||
/* select the color */
|
// Select the color
|
||||||
color = color_mask();
|
color = color_mask();
|
||||||
|
|
||||||
if (bg >= 0 && bg <= 4) {
|
if (bg >= 0 && bg <= 4) {
|
||||||
@ -140,13 +140,13 @@ void NewFileCommand::execute(Context* context)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ok) {
|
if (ok) {
|
||||||
/* save the configuration */
|
// Save the configuration
|
||||||
set_config_int("NewSprite", "Type", imgtype);
|
set_config_int("NewSprite", "Type", imgtype);
|
||||||
set_config_int("NewSprite", "Width", w);
|
set_config_int("NewSprite", "Width", w);
|
||||||
set_config_int("NewSprite", "Height", h);
|
set_config_int("NewSprite", "Height", h);
|
||||||
set_config_int("NewSprite", "Background", bg);
|
set_config_int("NewSprite", "Background", bg);
|
||||||
|
|
||||||
/* create the new sprite */
|
// Create the new sprite
|
||||||
sprite = new_sprite(UIContext::instance(), imgtype, w, h, ncolors);
|
sprite = new_sprite(UIContext::instance(), imgtype, w, h, ncolors);
|
||||||
if (!sprite) {
|
if (!sprite) {
|
||||||
Console console;
|
Console console;
|
||||||
@ -156,8 +156,8 @@ void NewFileCommand::execute(Context* context)
|
|||||||
usprintf(buf, "Sprite-%04d", ++_sprite_counter);
|
usprintf(buf, "Sprite-%04d", ++_sprite_counter);
|
||||||
sprite->setFilename(buf);
|
sprite->setFilename(buf);
|
||||||
|
|
||||||
/* if the background color isn't transparent, we have to
|
// If the background color isn't transparent, we have to
|
||||||
convert the `Layer 1' in a `Background' */
|
// convert the `Layer 1' in a `Background'
|
||||||
if (color_type(color) != COLOR_TYPE_MASK) {
|
if (color_type(color) != COLOR_TYPE_MASK) {
|
||||||
assert(sprite->getCurrentLayer() && sprite->getCurrentLayer()->is_image());
|
assert(sprite->getCurrentLayer() && sprite->getCurrentLayer()->is_image());
|
||||||
|
|
||||||
@ -165,7 +165,7 @@ void NewFileCommand::execute(Context* context)
|
|||||||
image_clear(sprite->getCurrentImage(), get_color_for_image(imgtype, color));
|
image_clear(sprite->getCurrentImage(), get_color_for_image(imgtype, color));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* show the sprite to the user */
|
// Show the sprite to the user
|
||||||
context->add_sprite(sprite);
|
context->add_sprite(sprite);
|
||||||
set_sprite_in_more_reliable_editor(sprite);
|
set_sprite_in_more_reliable_editor(sprite);
|
||||||
}
|
}
|
||||||
@ -181,7 +181,7 @@ void NewFileCommand::execute(Context* context)
|
|||||||
* @param w Width of the sprite
|
* @param w Width of the sprite
|
||||||
* @param h Height of the sprite
|
* @param h Height of the sprite
|
||||||
*/
|
*/
|
||||||
static Sprite *new_sprite(Context* context, int imgtype, int w, int h, int ncolors)
|
static Sprite* new_sprite(Context* context, int imgtype, int w, int h, int ncolors)
|
||||||
{
|
{
|
||||||
assert(imgtype == IMAGE_RGB || imgtype == IMAGE_GRAYSCALE || imgtype == IMAGE_INDEXED);
|
assert(imgtype == IMAGE_RGB || imgtype == IMAGE_GRAYSCALE || imgtype == IMAGE_INDEXED);
|
||||||
assert(w >= 1 && w <= 9999);
|
assert(w >= 1 && w <= 9999);
|
||||||
|
Loading…
Reference in New Issue
Block a user