mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	improve endianess handeling
This commit is contained in:
		
							parent
							
								
									4885a6c423
								
							
						
					
					
						commit
						3953b064f5
					
				
					 1 changed files with 9 additions and 14 deletions
				
			
		| 
						 | 
				
			
			@ -8,21 +8,16 @@
 | 
			
		|||
#include "config.h"
 | 
			
		||||
#include "client/pango.h"
 | 
			
		||||
 | 
			
		||||
#include <arpa/inet.h>
 | 
			
		||||
 | 
			
		||||
void cairo_set_source_u32(cairo_t *cairo, uint32_t color) {
 | 
			
		||||
	int endian = 1;
 | 
			
		||||
	if (*(char *)&endian == 1) { // little endian
 | 
			
		||||
		cairo_set_source_rgba(cairo,
 | 
			
		||||
				(color >> (1*8) & 0xFF) / 255.0,
 | 
			
		||||
				(color >> (2*8) & 0xFF) / 255.0,
 | 
			
		||||
				(color >> (3*8) & 0xFF) / 255.0,
 | 
			
		||||
				(color >> (0*8) & 0xFF) / 255.0);
 | 
			
		||||
	} else { // big endian
 | 
			
		||||
		cairo_set_source_rgba(cairo,
 | 
			
		||||
				(color >> (0*8) & 0xFF) / 255.0,
 | 
			
		||||
				(color >> (3*8) & 0xFF) / 255.0,
 | 
			
		||||
				(color >> (2*8) & 0xFF) / 255.0,
 | 
			
		||||
				(color >> (1*8) & 0xFF) / 255.0);
 | 
			
		||||
	}
 | 
			
		||||
    color = htonl(color);
 | 
			
		||||
 | 
			
		||||
    cairo_set_source_rgba(cairo,
 | 
			
		||||
            (color >> (2*8) & 0xFF) / 255.0,
 | 
			
		||||
            (color >> (1*8) & 0xFF) / 255.0,
 | 
			
		||||
            (color >> (0*8) & 0xFF) / 255.0,
 | 
			
		||||
            (color >> (3*8) & 0xFF) / 255.0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static cairo_t *create_border_buffer(swayc_t *view, struct wlc_geometry geo, cairo_surface_t **surface) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue