Cleanup indentation with clang-format and changed a few variable names

This commit is contained in:
o9000
2015-11-20 23:28:37 +01:00
parent c0e62e2e79
commit 4a6937826c
51 changed files with 4145 additions and 3789 deletions

View File

@@ -37,67 +37,69 @@
#include <librsvg/rsvg.h>
#endif
void copy_file(const char *pathSrc, const char *pathDest)
void copy_file(const char *path_src, const char *path_dest)
{
if (g_str_equal(pathSrc, pathDest))
if (g_str_equal(path_src, path_dest))
return;
FILE *fileSrc, *fileDest;
char buffer[100];
int nb;
FILE *file_src, *file_dest;
char buffer[4096];
int nb;
fileSrc = fopen(pathSrc, "rb");
if (fileSrc == NULL) return;
file_src = fopen(path_src, "rb");
if (file_src == NULL)
return;
fileDest = fopen(pathDest, "wb");
if (fileDest == NULL) return;
file_dest = fopen(path_dest, "wb");
if (file_dest == NULL) {
fclose(file_src);
return;
}
while ((nb = fread(buffer, 1, sizeof(buffer), fileSrc)) > 0) {
if ( nb != fwrite(buffer, 1, nb, fileDest)) {
printf("Error while copying file %s to %s\n", pathSrc, pathDest);
while ((nb = fread(buffer, 1, sizeof(buffer), file_src)) > 0) {
if (nb != fwrite(buffer, 1, nb, file_dest)) {
printf("Error while copying file %s to %s\n", path_src, path_dest);
}
}
fclose (fileDest);
fclose (fileSrc);
fclose(file_dest);
fclose(file_src);
}
int parse_line (const char *line, char **key, char **value)
int parse_line(const char *line, char **key, char **value)
{
char *a, *b;
/* Skip useless lines */
if ((line[0] == '#') || (line[0] == '\n')) return 0;
if (!(a = strchr (line, '='))) return 0;
if ((line[0] == '#') || (line[0] == '\n'))
return 0;
if (!(a = strchr(line, '=')))
return 0;
/* overwrite '=' with '\0' */
a[0] = '\0';
*key = strdup (line);
*key = strdup(line);
a++;
/* overwrite '\n' with '\0' if '\n' present */
if ((b = strchr (a, '\n'))) b[0] = '\0';
if ((b = strchr(a, '\n')))
b[0] = '\0';
*value = strdup (a);
*value = strdup(a);
g_strstrip(*key);
g_strstrip(*value);
return 1;
}
void tint_exec(const char *command)
{
if (command) {
pid_t pid;
pid = fork();
if (pid == 0) {
if (fork() == 0) {
// change for the fork the signal mask
// sigset_t sigset;
// sigprocmask(SIG_SETMASK, &sigset, 0);
// sigprocmask(SIG_UNBLOCK, &sigset, 0);
// sigset_t sigset;
// sigprocmask(SIG_SETMASK, &sigset, 0);
// sigprocmask(SIG_UNBLOCK, &sigset, 0);
execl("/bin/sh", "/bin/sh", "-c", command, NULL);
_exit(0);
}
@@ -107,9 +109,7 @@ void tint_exec(const char *command)
char *expand_tilde(char *s)
{
const gchar *home = g_get_home_dir();
if (home &&
(strcmp(s, "~") == 0 ||
strstr(s, "~/") == s)) {
if (home && (strcmp(s, "~") == 0 || strstr(s, "~/") == s)) {
char *result = calloc(strlen(home) + strlen(s), 1);
strcat(result, home);
strcat(result, s + 1);
@@ -129,8 +129,7 @@ char *contract_tilde(char *s)
strcat(home_slash, home);
strcat(home_slash, "/");
if ((strcmp(s, home) == 0 ||
strstr(s, home_slash) == s)) {
if ((strcmp(s, home) == 0 || strstr(s, home_slash) == s)) {
char *result = calloc(strlen(s) - strlen(home) + 2, 1);
strcat(result, "~");
strcat(result, s + strlen(home));
@@ -142,98 +141,96 @@ char *contract_tilde(char *s)
}
}
int hex_char_to_int (char c)
int hex_char_to_int(char c)
{
int r;
if (c >= '0' && c <= '9') r = c - '0';
else if (c >= 'a' && c <= 'f') r = c - 'a' + 10;
else if (c >= 'A' && c <= 'F') r = c - 'A' + 10;
else r = 0;
if (c >= '0' && c <= '9')
r = c - '0';
else if (c >= 'a' && c <= 'f')
r = c - 'a' + 10;
else if (c >= 'A' && c <= 'F')
r = c - 'A' + 10;
else
r = 0;
return r;
}
int hex_to_rgb (char *hex, int *r, int *g, int *b)
int hex_to_rgb(char *hex, int *r, int *g, int *b)
{
int len;
if (hex == NULL || hex[0] != '#')
return (0);
if (hex == NULL || hex[0] != '#') return (0);
len = strlen (hex);
int len = strlen(hex);
if (len == 3 + 1) {
*r = hex_char_to_int (hex[1]);
*g = hex_char_to_int (hex[2]);
*b = hex_char_to_int (hex[3]);
}
else if (len == 6 + 1) {
*r = hex_char_to_int (hex[1]) * 16 + hex_char_to_int (hex[2]);
*g = hex_char_to_int (hex[3]) * 16 + hex_char_to_int (hex[4]);
*b = hex_char_to_int (hex[5]) * 16 + hex_char_to_int (hex[6]);
}
else if (len == 12 + 1) {
*r = hex_char_to_int (hex[1]) * 16 + hex_char_to_int (hex[2]);
*g = hex_char_to_int (hex[5]) * 16 + hex_char_to_int (hex[6]);
*b = hex_char_to_int (hex[9]) * 16 + hex_char_to_int (hex[10]);
}
else return 0;
*r = hex_char_to_int(hex[1]);
*g = hex_char_to_int(hex[2]);
*b = hex_char_to_int(hex[3]);
} else if (len == 6 + 1) {
*r = hex_char_to_int(hex[1]) * 16 + hex_char_to_int(hex[2]);
*g = hex_char_to_int(hex[3]) * 16 + hex_char_to_int(hex[4]);
*b = hex_char_to_int(hex[5]) * 16 + hex_char_to_int(hex[6]);
} else if (len == 12 + 1) {
*r = hex_char_to_int(hex[1]) * 16 + hex_char_to_int(hex[2]);
*g = hex_char_to_int(hex[5]) * 16 + hex_char_to_int(hex[6]);
*b = hex_char_to_int(hex[9]) * 16 + hex_char_to_int(hex[10]);
} else
return 0;
return 1;
}
void get_color (char *hex, double *rgb)
void get_color(char *hex, double *rgb)
{
int r, g, b;
r = g = b = 0;
hex_to_rgb (hex, &r, &g, &b);
hex_to_rgb(hex, &r, &g, &b);
rgb[0] = (r / 255.0);
rgb[1] = (g / 255.0);
rgb[2] = (b / 255.0);
}
void extract_values (const char *value, char **value1, char **value2, char **value3)
void extract_values(const char *value, char **value1, char **value2, char **value3)
{
char *b=0, *c=0;
char *b = 0, *c = 0;
if (*value1) free (*value1);
if (*value2) free (*value2);
if (*value3) free (*value3);
if (*value1)
free(*value1);
if (*value2)
free(*value2);
if (*value3)
free(*value3);
if ((b = strchr (value, ' '))) {
if ((b = strchr(value, ' '))) {
b[0] = '\0';
b++;
}
else {
} else {
*value2 = 0;
*value3 = 0;
}
*value1 = strdup (value);
*value1 = strdup(value);
g_strstrip(*value1);
if (b) {
if ((c = strchr (b, ' '))) {
if ((c = strchr(b, ' '))) {
c[0] = '\0';
c++;
}
else {
} else {
c = 0;
*value3 = 0;
}
*value2 = strdup (b);
*value2 = strdup(b);
g_strstrip(*value2);
}
if (c) {
*value3 = strdup (c);
*value3 = strdup(c);
g_strstrip(*value3);
}
}
void adjust_asb(DATA32 *data, int w, int h, int alpha, float satur, float bright)
{
unsigned int x, y;
@@ -244,21 +241,24 @@ void adjust_asb(DATA32 *data, int w, int h, int alpha, float satur, float bright
float hue, saturation, brightness;
float redc, greenc, bluec;
for(y = 0; y < h; y++) {
for(id = y * w, x = 0; x < w; x++, id++) {
for (y = 0; y < h; y++) {
for (id = y * w, x = 0; x < w; x++, id++) {
argb = data[id];
a = (argb >> 24) & 0xff;
// transparent => nothing to do.
if (a == 0) continue;
if (a == 0)
continue;
r = (argb >> 16) & 0xff;
g = (argb >> 8) & 0xff;
b = (argb) & 0xff;
b = (argb)&0xff;
// convert RGB to HSB
cmax = (r > g) ? r : g;
if (b > cmax) cmax = b;
if (b > cmax)
cmax = b;
cmin = (r < g) ? r : g;
if (b < cmin) cmin = b;
if (b < cmin)
cmin = b;
brightness = ((float)cmax) / 255.0f;
if (cmax != 0)
saturation = ((float)(cmax - cmin)) / ((float)cmax);
@@ -283,13 +283,17 @@ void adjust_asb(DATA32 *data, int w, int h, int alpha, float satur, float bright
// adjust
saturation += satur;
if (saturation < 0.0) saturation = 0.0;
if (saturation > 1.0) saturation = 1.0;
if (saturation < 0.0)
saturation = 0.0;
if (saturation > 1.0)
saturation = 1.0;
brightness += bright;
if (brightness < 0.0) brightness = 0.0;
if (brightness > 1.0) brightness = 1.0;
if (brightness < 0.0)
brightness = 0.0;
if (brightness > 1.0)
brightness = 1.0;
if (alpha != 100)
a = (a * alpha)/100;
a = (a * alpha) / 100;
// convert HSB to RGB
if (saturation == 0) {
@@ -300,7 +304,7 @@ void adjust_asb(DATA32 *data, int w, int h, int alpha, float satur, float bright
p = brightness * (1.0f - saturation);
q = brightness * (1.0f - saturation * f);
t = brightness * (1.0f - (saturation * (1.0f - f)));
switch ((int) h2) {
switch ((int)h2) {
case 0:
r = (int)(brightness * 255.0f + 0.5f);
g = (int)(t * 255.0f + 0.5f);
@@ -343,34 +347,33 @@ void adjust_asb(DATA32 *data, int w, int h, int alpha, float satur, float bright
}
}
void createHeuristicMask(DATA32* data, int w, int h)
void create_heuristic_mask(DATA32 *data, int w, int h)
{
// first we need to find the mask color, therefore we check all 4 edge pixel and take the color which
// appears most often (we only need to check three edges, the 4th is implicitly clear)
unsigned int topLeft = data[0], topRight = data[w-1], bottomLeft = data[w*h-w], bottomRight = data[w*h-1];
unsigned int topLeft = data[0], topRight = data[w - 1], bottomLeft = data[w * h - w], bottomRight = data[w * h - 1];
int max = (topLeft == topRight) + (topLeft == bottomLeft) + (topLeft == bottomRight);
int maskPos = 0;
if ( max < (topRight == topLeft) + (topRight == bottomLeft) + (topRight == bottomRight) ) {
if (max < (topRight == topLeft) + (topRight == bottomLeft) + (topRight == bottomRight)) {
max = (topRight == topLeft) + (topRight == bottomLeft) + (topRight == bottomRight);
maskPos = w-1;
maskPos = w - 1;
}
if ( max < (bottomLeft == topRight) + (bottomLeft == topLeft) + (bottomLeft == bottomRight) )
maskPos = w*h-w;
if (max < (bottomLeft == topRight) + (bottomLeft == topLeft) + (bottomLeft == bottomRight))
maskPos = w * h - w;
// now mask out every pixel which has the same color as the edge pixels
unsigned char* udata = (unsigned char*)data;
unsigned char b = udata[4*maskPos];
unsigned char g = udata[4*maskPos+1];
unsigned char r = udata[4*maskPos+1];
int i;
for (i=0; i<h*w; ++i) {
if ( b-udata[0] == 0 && g-udata[1] == 0 && r-udata[2] == 0 )
unsigned char *udata = (unsigned char *)data;
unsigned char b = udata[4 * maskPos];
unsigned char g = udata[4 * maskPos + 1];
unsigned char r = udata[4 * maskPos + 1];
for (int i = 0; i < h * w; ++i) {
if (b - udata[0] == 0 && g - udata[1] == 0 && r - udata[2] == 0)
udata[3] = 0;
udata += 4;
}
}
int pixelEmpty(DATA32 argb)
int pixel_empty(DATA32 argb)
{
DATA32 a = (argb >> 24) & 0xff;
@@ -381,29 +384,27 @@ int pixelEmpty(DATA32 argb)
return rgb == 0;
}
int imageEmpty(DATA32* data, int w, int h)
int image_empty(DATA32 *data, int w, int h)
{
unsigned int x, y;
if (w > 0 && h > 0) {
x = w / 2;
y = h / 2;
if (!pixelEmpty(data[y * w + x])) {
//fprintf(stderr, "Non-empty pixel: [%u, %u] = %x\n", x, y, data[y * w + x]);
int x = w / 2;
int y = h / 2;
if (!pixel_empty(data[y * w + x])) {
// fprintf(stderr, "Non-empty pixel: [%u, %u] = %x\n", x, y, data[y * w + x]);
return 0;
}
}
for (y = 0; y < h; y++) {
for (x = 0; x < w; x++) {
if (!pixelEmpty(data[y * w + x])) {
//fprintf(stderr, "Non-empty pixel: [%u, %u] = %x\n", x, y, data[y * w + x]);
for (int y = 0; y < h; y++) {
for (int x = 0; x < w; x++) {
if (!pixel_empty(data[y * w + x])) {
// fprintf(stderr, "Non-empty pixel: [%u, %u] = %x\n", x, y, data[y * w + x]);
return 0;
}
}
}
//fprintf(stderr, "All pixels are empty\n");
// fprintf(stderr, "All pixels are empty\n");
return 1;
}
@@ -430,7 +431,7 @@ void render_image(Drawable d, int x, int y)
Picture pict = XRenderCreatePicture(server.dsp, pixmap, XRenderFindStandardFormat(server.dsp, PictStandardARGB32), 0, 0);
Picture pict_drawable = XRenderCreatePicture(server.dsp, d, XRenderFindVisualFormat(server.dsp, server.visual), 0, 0);
Picture pict_mask = XRenderCreatePicture(server.dsp, mask, XRenderFindStandardFormat(server.dsp, PictStandardARGB32), 0, 0);
Picture pict_mask = XRenderCreatePicture(server.dsp, mask, XRenderFindStandardFormat(server.dsp, PictStandardARGB32), 0, 0);
XRenderComposite(server.dsp, PictOpOver, pict, pict_mask, pict_drawable, 0, 0, 0, 0, x, y, w, h);
XRenderFreePicture(server.dsp, pict_mask);
@@ -448,17 +449,23 @@ void draw_text(PangoLayout *layout, cairo_t *c, int posx, int posy, Color *color
int i, j;
for (i = -shadow_size; i <= shadow_size; i++) {
for (j = -shadow_size; j <= shadow_size; j++) {
cairo_set_source_rgba(c, 0.0, 0.0, 0.0, 1.0 - (1.0 - shadow_edge_alpha) * sqrt((i*i + j*j)/(double)(shadow_size*shadow_size)));
cairo_set_source_rgba(c,
0.0,
0.0,
0.0,
1.0 -
(1.0 - shadow_edge_alpha) *
sqrt((i * i + j * j) / (double)(shadow_size * shadow_size)));
pango_cairo_update_layout(c, layout);
cairo_move_to(c, posx + i, posy + j);
pango_cairo_show_layout(c, layout);
}
}
}
cairo_set_source_rgba (c, color->rgb[0], color->rgb[1], color->rgb[2], color->alpha);
pango_cairo_update_layout (c, layout);
cairo_move_to (c, posx, posy);
pango_cairo_show_layout (c, layout);
cairo_set_source_rgba(c, color->rgb[0], color->rgb[1], color->rgb[2], color->alpha);
pango_cairo_update_layout(c, layout);
cairo_move_to(c, posx, posy);
pango_cairo_show_layout(c, layout);
}
Imlib_Image load_image(const char *path, int cached)
@@ -477,8 +484,8 @@ Imlib_Image load_image(const char *path, int cached)
pid_t pid = fork();
if (pid == 0) {
// Child
GError* err = NULL;
RsvgHandle* svg = rsvg_handle_new_from_file(path, &err);
GError *err = NULL;
RsvgHandle *svg = rsvg_handle_new_from_file(path, &err);
if (err != NULL) {
fprintf(stderr, "Could not load svg image!: %s", err->message);
@@ -519,8 +526,13 @@ Imlib_Image adjust_icon(Imlib_Image original, int alpha, int saturation, int bri
imlib_context_set_image(copy);
imlib_image_set_has_alpha(1);
DATA32* data = imlib_image_get_data();
adjust_asb(data, imlib_image_get_width(), imlib_image_get_height(), alpha, (float)saturation/100, (float)brightness/100);
DATA32 *data = imlib_image_get_data();
adjust_asb(data,
imlib_image_get_width(),
imlib_image_get_height(),
alpha,
(float)saturation / 100,
(float)brightness / 100);
imlib_image_put_back_data(data);
return copy;
}
@@ -530,25 +542,62 @@ void draw_rect(cairo_t *c, double x, double y, double w, double h, double r)
if (r > 0.0) {
double c1 = 0.55228475 * r;
cairo_move_to(c, x+r, y);
cairo_rel_line_to(c, w-2*r, 0);
cairo_move_to(c, x + r, y);
cairo_rel_line_to(c, w - 2 * r, 0);
cairo_rel_curve_to(c, c1, 0.0, r, c1, r, r);
cairo_rel_line_to(c, 0, h-2*r);
cairo_rel_curve_to(c, 0.0, c1, c1-r, r, -r, r);
cairo_rel_line_to (c, -w +2*r, 0);
cairo_rel_curve_to (c, -c1, 0, -r, -c1, -r, -r);
cairo_rel_line_to (c, 0, -h + 2 * r);
cairo_rel_curve_to (c, 0, -c1, r - c1, -r, r, -r);
}
else
cairo_rel_line_to(c, 0, h - 2 * r);
cairo_rel_curve_to(c, 0.0, c1, c1 - r, r, -r, r);
cairo_rel_line_to(c, -w + 2 * r, 0);
cairo_rel_curve_to(c, -c1, 0, -r, -c1, -r, -r);
cairo_rel_line_to(c, 0, -h + 2 * r);
cairo_rel_curve_to(c, 0, -c1, r - c1, -r, r, -r);
} else
cairo_rectangle(c, x, y, w, h);
}
void clear_pixmap(Pixmap p, int x, int y, int w, int h)
{
Picture pict = XRenderCreatePicture(server.dsp, p, XRenderFindVisualFormat(server.dsp, server.visual), 0, 0);
XRenderColor col = { .red=0, .green=0, .blue=0, .alpha=0 };
XRenderColor col;
col.red = col.green = col.blue = col.alpha = 0;
XRenderFillRectangle(server.dsp, PictOpSrc, pict, &col, x, y, w, h);
XRenderFreePicture(server.dsp, pict);
}
void get_text_size2(PangoFontDescription *font,
int *height_ink,
int *height,
int *width,
int panel_height,
int panel_width,
char *text,
int len,
PangoWrapMode wrap,
PangoEllipsizeMode ellipsis)
{
PangoRectangle rect_ink, rect;
Pixmap pmap = XCreatePixmap(server.dsp, server.root_win, panel_height, panel_width, server.depth);
cairo_surface_t *cs = cairo_xlib_surface_create(server.dsp, pmap, server.visual, panel_height, panel_width);
cairo_t *c = cairo_create(cs);
PangoLayout *layout = pango_cairo_create_layout(c);
pango_layout_set_width(layout, panel_width * PANGO_SCALE);
pango_layout_set_height(layout, panel_height * PANGO_SCALE);
pango_layout_set_wrap(layout, wrap);
pango_layout_set_ellipsize(layout, ellipsis);
pango_layout_set_font_description(layout, font);
pango_layout_set_text(layout, text, len);
pango_layout_get_pixel_extents(layout, &rect_ink, &rect);
*height_ink = rect_ink.height;
*height = rect.height;
*width = rect.width;
// printf("dimension : %d - %d\n", rect_ink.height, rect.height);
g_object_unref(layout);
cairo_destroy(c);
cairo_surface_destroy(cs);
XFreePixmap(server.dsp, pmap);
}