cairo graphics 0.2 (triangle)

/* Jeffrin Jose Licensed GPL v3 Copyright August 2010 GPL –> http://www.gnu.org/copyleft/gpl.html */ #include #include int i=0; static gboolean draw(GtkWidget *widget, GdkEventExpose *event, gpointer data) { cairo_t *cr; cr = gdk_cairo_create(widget->window); cairo_set_source_rgb(cr, 0, 0, 0); cairo_set_line_width (cr, 0.5); for (i=0;i<200;i++) { cairo_move_to(cr,30+i,60); cairo_line_to(cr,30+i,60+i); /* cairo_line_to(cr,40,200); */ cairo_stroke(cr); /* cairo_surface_flush(); */ /* usleep(100000);*/ } cairo_destroy(cr); return …

cairo graphics 0.1 (line)

#include #include int i=0; static gboolean draw(GtkWidget *widget, GdkEventExpose *event, gpointer data) { cairo_t *cr; cr = gdk_cairo_create(widget->window); cairo_set_source_rgb(cr, 0, 0, 0); cairo_set_line_width (cr, 0.5); /*for (i=0;i<200;i++) { */ cairo_move_to(cr,30,60); /* cairo_line_to(cr,30+i,60+i);*/ cairo_line_to(cr,40,200); cairo_stroke(cr); /* cairo_surface_flush(); */ /* usleep(100000);*/ /*} */ cairo_destroy(cr); return FALSE; } int main (int argc, char *argv[]) { GtkWidget *window; gtk_init(&argc, …

auxiliary and vector.

Words auxiliary = assistant,help,helper,supporter. vector = a one dimensional array. source: http://www.thefreedictionary.com Application Vector graphics is the use of geometrical primitives such as points, lines, curves, and shapes or polygon(s), which are all based on mat hematical equations, to represent images in computer graphics.Vector graphics formats are complementary to raster graphics, which is the representation …

operating system auxiliary vector

GDB show’s Auxiliary Vector (gdb) info auxv 33 AT_SYSINFO_EHDR System-supplied DSO’s ELF header 0x7fff68bdf000 16 AT_HWCAP Machine-dependent CPU capability hints 0x78bfbff 6 AT_PAGESZ System page size 4096 17 AT_CLKTCK Frequency of times() 100 3 AT_PHDR Program headers for program 0x400040 4 AT_PHENT Size of program header entry 56 5 AT_PHNUM Number of program headers 8 …

rectangle with cairo

/* Jeffrin Jose Licensed GPL v3 Copyright August 2010 GPL –> http://www.gnu.org/copyleft/gpl.html */ #include int main () { cairo_surface_t *surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 800, 600); cairo_t *cr = cairo_create (surface); cairo_set_font_size (cr, 32.0); cairo_set_source_rgb (cr, 0, 0, 0); cairo_set_line_width(cr,1.0); cairo_rectangle(cr,30,20,67,70); cairo_stroke(cr); cairo_destroy (cr); cairo_surface_write_to_png (surface, “hello.png”); cairo_surface_destroy (surface); return 0; }

line with cairo

/* Jeffrin Jose Licensed GPL v3 Copyright August 2010 GPL –> http://www.gnu.org/copyleft/gpl.html */ #include int main () { cairo_surface_t *surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 800, 600); cairo_t *cr = cairo_create (surface); cairo_set_font_size (cr, 32.0); cairo_set_source_rgb (cr, 0, 0, 0); cairo_set_line_width(cr,1.0); cairo_move_to (cr, 10.0, 50.0); cairo_line_to(cr,20,300); cairo_stroke(cr); cairo_destroy (cr); cairo_surface_write_to_png (surface, “hello.png”); cairo_surface_destroy (surface); return 0; }

Print With Delay 0.6 ( with option)

/* Jeffrin Jose Licensed GPL v3 Copyright August 2010 GPL –> http://www.gnu.org/copyleft/gpl.html */ #include #include #include #include int main(int argc,char *argv[]) { int count; int i=0,getptr; pid_t pid; size_t length; char array[20]=”Happy Friendship Day”; /* printf(“n Happy Friendship Day n”); */ pid=fork(); if (pid == 0) { setsid(); setenv(“PS1″,”$”,1); /* getptr=getenv(“PS1”); printf(“%s”,getptr); */ printf(“\n”); for(i=0;i<20;i++) …

negate instruction NEG

GDB shows “neg” instruction or $0xffffffffffffffff,%eax jmp 0x7f94f7fce0d0 mov 0x296e5f(%rip),%rax # 0x7f94f8264f98 neg %edx mov %edx,%fs:(%rax) or $0xffffffffffffffff,%eax jmp 0x7f94f7fce10f End of assembler dump. (gdb) 0x00007f94f7fce139 : neg %edx Process Involved software : gnome-panel. The launcher and docking facility for GNOME Explanation The neg (negate) instruction takes the two’s complement of a byte or word. …

Print With Delay 0.5 (process independency)

/* Jeffrin Jose Licensed GPL v3 Copyright August 2010 GPL –> http://www.gnu.org/copyleft/gpl.html */ #include #include #include int main() { int seconds; int i=0,getptr; pid_t pid; char array[20]=”Happy Friendship Day”; /* printf(“n Happy Friendship Day n”); */ pid=fork(); if (pid == 0) { setsid(); setenv(“PS1″,”$”,1); /* getptr=getenv(“PS1”); printf(“%s”,getptr); */ printf(“\n”); for(i=0;i<20;i++) { printf("%c",array[i]); /* for(seconds=0;seconds<100000000;seconds++);*/ /* …

pop an address from the stack..

GDB shows retq instruction (gdb) disassemble Dump of assembler code for function __read_nocancel: 0x00007fbd743e0e89 : mov $0x0,%eax 0x00007fbd743e0e8e : syscall => 0x00007fbd743e0e90 : cmp $0xfffffffffffff001,%rax 0x00007fbd743e0e96 : jae 0x7fbd743e0ec9 0x00007fbd743e0e98 : retq End of assembler dump. (gdb) Process Involved GPL Ghostscript 8.71. PostScript and PDF language interpreter and previewer. A Screen Shot GPL Ghostscript 8.71 …