Better organize "src/state.c"
This commit is contained in:
parent
3ca919241b
commit
8d42a95604
|
@ -1269,7 +1269,7 @@ void resizeclient(Client *c, const struct ClientGeometry client_geometry)
|
|||
c->state.geometry = client_geometry;
|
||||
|
||||
XWindowChanges wc = { 0 };
|
||||
client_geometry_to_x_window_changes(&client_geometry, &wc);
|
||||
client_geometry_convert_to_x_window_changes(&client_geometry, &wc);
|
||||
|
||||
XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc);
|
||||
configure(c);
|
||||
|
|
40
src/state.c
40
src/state.c
|
@ -2,6 +2,10 @@
|
|||
|
||||
#include <string.h>
|
||||
|
||||
/**************************
|
||||
* Default init functions *
|
||||
**************************/
|
||||
|
||||
void position_init(const Position position)
|
||||
{
|
||||
position->x = 0;
|
||||
|
@ -51,6 +55,10 @@ void client_state_init(const ClientState client_state)
|
|||
client_state->is_fullscreen = false;
|
||||
}
|
||||
|
||||
/***************************
|
||||
* Argument init functions *
|
||||
***************************/
|
||||
|
||||
void position_init_from_args(const Position position, const int x, const int y)
|
||||
{
|
||||
position->x = x;
|
||||
|
@ -76,6 +84,25 @@ void client_geometry_init_from_args(
|
|||
client_geometry->border_width = border_width;
|
||||
}
|
||||
|
||||
/************************
|
||||
* Conversion functions *
|
||||
************************/
|
||||
|
||||
void client_geometry_convert_to_x_window_changes(
|
||||
const struct ClientGeometry *const client_geometry,
|
||||
XWindowChanges *const x_window_changes
|
||||
) {
|
||||
x_window_changes->x = client_geometry->basic.position.x;
|
||||
x_window_changes->y = client_geometry->basic.position.y;
|
||||
x_window_changes->width = client_geometry->basic.sizes.w;
|
||||
x_window_changes->height = client_geometry->basic.sizes.h;
|
||||
x_window_changes->border_width = client_geometry->border_width;
|
||||
}
|
||||
|
||||
/**********************
|
||||
* Constant functions *
|
||||
**********************/
|
||||
|
||||
int client_geometry_total_width(
|
||||
const struct ClientGeometry *const client_geometry
|
||||
) {
|
||||
|
@ -88,16 +115,9 @@ int client_geometry_total_height(
|
|||
return client_geometry->basic.sizes.h + 2 * client_geometry->border_width;
|
||||
}
|
||||
|
||||
void client_geometry_to_x_window_changes(
|
||||
const struct ClientGeometry *const client_geometry,
|
||||
XWindowChanges *const x_window_changes
|
||||
) {
|
||||
x_window_changes->x = client_geometry->basic.position.x;
|
||||
x_window_changes->y = client_geometry->basic.position.y;
|
||||
x_window_changes->width = client_geometry->basic.sizes.w;
|
||||
x_window_changes->height = client_geometry->basic.sizes.h;
|
||||
x_window_changes->border_width = client_geometry->border_width;
|
||||
}
|
||||
/***********************
|
||||
* Modifying functions *
|
||||
***********************/
|
||||
|
||||
void client_geometry_adjust_to_boundary(
|
||||
const ClientGeometry client_geometry,
|
||||
|
|
32
src/state.h
32
src/state.h
|
@ -48,9 +48,9 @@ struct ClientState {
|
|||
bool is_fixed, is_floating, is_urgent, never_focus, is_fullscreen;
|
||||
};
|
||||
|
||||
/******************
|
||||
* Init functions *
|
||||
******************/
|
||||
/**************************
|
||||
* Default init functions *
|
||||
**************************/
|
||||
|
||||
void position_init(Position position);
|
||||
void sizes_init(Sizes sizes);
|
||||
|
@ -59,6 +59,10 @@ void client_geometry_init(ClientGeometry client_geometry);
|
|||
void client_size_hints_init(ClientSizeHints client_size_hints);
|
||||
void client_state_init(ClientState client_state);
|
||||
|
||||
/***************************
|
||||
* Argument init functions *
|
||||
***************************/
|
||||
|
||||
void position_init_from_args(Position position, int x, int y);
|
||||
void sizes_init_from_args(Sizes sizes, int width, int height);
|
||||
|
||||
|
@ -71,17 +75,25 @@ void client_geometry_init_from_args(
|
|||
int border_width
|
||||
);
|
||||
|
||||
/*************
|
||||
* Functions *
|
||||
*************/
|
||||
/************************
|
||||
* Conversion functions *
|
||||
************************/
|
||||
|
||||
void client_geometry_convert_to_x_window_changes(
|
||||
const struct ClientGeometry *client_geometry,
|
||||
XWindowChanges *x_window_changes
|
||||
);
|
||||
|
||||
/**********************
|
||||
* Constant functions *
|
||||
**********************/
|
||||
|
||||
int client_geometry_total_width(const struct ClientGeometry *client_geometry);
|
||||
int client_geometry_total_height(const struct ClientGeometry *client_geometry);
|
||||
|
||||
void client_geometry_to_x_window_changes(
|
||||
const struct ClientGeometry *client_geometry,
|
||||
XWindowChanges *x_window_changes
|
||||
);
|
||||
/***********************
|
||||
* Modifying functions *
|
||||
***********************/
|
||||
|
||||
void client_geometry_adjust_to_boundary(
|
||||
ClientGeometry client_geometry,
|
||||
|
|
Loading…
Reference in New Issue