window pos
This commit is contained in:
@@ -1035,6 +1035,7 @@ namespace anm2ed::imgui
|
|||||||
if (isDragging)
|
if (isDragging)
|
||||||
{
|
{
|
||||||
playback.time = hoveredTime;
|
playback.time = hoveredTime;
|
||||||
|
playback.clamp(settings.playbackIsClamp ? length : anm2::FRAME_NUM_MAX);
|
||||||
document.frameTime = playback.time;
|
document.frameTime = playback.time;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -135,6 +135,15 @@ namespace anm2ed
|
|||||||
|
|
||||||
logger.info("Initialized SDL");
|
logger.info("Initialized SDL");
|
||||||
|
|
||||||
|
auto windowProperties = SDL_CreateProperties();
|
||||||
|
|
||||||
|
if (windowProperties == 0)
|
||||||
|
{
|
||||||
|
logger.fatal(std::format("Could not initialize window properties! {}", SDL_GetError()));
|
||||||
|
isError = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (settings.isDefault)
|
if (settings.isDefault)
|
||||||
{
|
{
|
||||||
if (auto display = SDL_GetPrimaryDisplay(); display != 0)
|
if (auto display = SDL_GetPrimaryDisplay(); display != 0)
|
||||||
@@ -157,8 +166,27 @@ namespace anm2ed
|
|||||||
else
|
else
|
||||||
logger.info("Initialized SDL_mixer");
|
logger.info("Initialized SDL_mixer");
|
||||||
|
|
||||||
window = SDL_CreateWindow("Anm2Ed", settings.windowSize.x, settings.windowSize.y,
|
SDL_SetStringProperty(windowProperties, SDL_PROP_WINDOW_CREATE_TITLE_STRING, "Anm2Ed");
|
||||||
SDL_WINDOW_RESIZABLE | SDL_WINDOW_OPENGL | SDL_WINDOW_HIGH_PIXEL_DENSITY);
|
SDL_SetNumberProperty(windowProperties, SDL_PROP_WINDOW_CREATE_WIDTH_NUMBER, settings.windowSize.x);
|
||||||
|
SDL_SetNumberProperty(windowProperties, SDL_PROP_WINDOW_CREATE_HEIGHT_NUMBER, settings.windowSize.y);
|
||||||
|
|
||||||
|
SDL_SetNumberProperty(windowProperties, SDL_PROP_WINDOW_CREATE_X_NUMBER,
|
||||||
|
settings.isDefault ? SDL_WINDOWPOS_CENTERED : settings.windowPosition.x);
|
||||||
|
SDL_SetNumberProperty(windowProperties, SDL_PROP_WINDOW_CREATE_Y_NUMBER,
|
||||||
|
settings.isDefault ? SDL_WINDOWPOS_CENTERED : settings.windowPosition.y);
|
||||||
|
|
||||||
|
SDL_SetBooleanProperty(windowProperties, SDL_PROP_WINDOW_CREATE_RESIZABLE_BOOLEAN, true);
|
||||||
|
SDL_SetBooleanProperty(windowProperties, SDL_PROP_WINDOW_CREATE_OPENGL_BOOLEAN, true);
|
||||||
|
SDL_SetBooleanProperty(windowProperties, SDL_PROP_WINDOW_CREATE_HIGH_PIXEL_DENSITY_BOOLEAN, true);
|
||||||
|
|
||||||
|
window = SDL_CreateWindowWithProperties(windowProperties);
|
||||||
|
|
||||||
|
if (!window)
|
||||||
|
{
|
||||||
|
logger.fatal(std::format("Could not initialize window! {}", SDL_GetError()));
|
||||||
|
isError = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
|
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
|
||||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
|
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ namespace anm2ed
|
|||||||
#define SETTINGS_MEMBERS \
|
#define SETTINGS_MEMBERS \
|
||||||
/* Symbol / Name / String / Type / Default */ \
|
/* Symbol / Name / String / Type / Default */ \
|
||||||
X(WINDOW_SIZE, windowSize, STRING_UNDEFINED, IVEC2_WH, {1200, 720}) \
|
X(WINDOW_SIZE, windowSize, STRING_UNDEFINED, IVEC2_WH, {1200, 720}) \
|
||||||
|
X(WINDOW_POSITION, windowPosition, STRING_UNDEFINED, IVEC2, glm::ivec2()) \
|
||||||
X(IS_VSYNC, isVsync, STRING_UNDEFINED, BOOL, true) \
|
X(IS_VSYNC, isVsync, STRING_UNDEFINED, BOOL, true) \
|
||||||
X(UI_SCALE, uiScale, STRING_UNDEFINED, FLOAT, 1.0f) \
|
X(UI_SCALE, uiScale, STRING_UNDEFINED, FLOAT, 1.0f) \
|
||||||
X(THEME, theme, STRING_UNDEFINED, INT, types::theme::DARK) \
|
X(THEME, theme, STRING_UNDEFINED, INT, types::theme::DARK) \
|
||||||
|
|||||||
@@ -112,6 +112,7 @@ namespace anm2ed
|
|||||||
toasts.update();
|
toasts.update();
|
||||||
|
|
||||||
SDL_GetWindowSize(window, &settings.windowSize.x, &settings.windowSize.y);
|
SDL_GetWindowSize(window, &settings.windowSize.x, &settings.windowSize.y);
|
||||||
|
SDL_GetWindowPosition(window, &settings.windowPosition.x, &settings.windowPosition.y);
|
||||||
|
|
||||||
if (isQuitting && manager.documents.empty()) isQuit = true;
|
if (isQuitting && manager.documents.empty()) isQuit = true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user