Module: MorandiNative::PixbufUtils
- Defined in:
- ext/morandi_native/morandi_native.c
Class Method Summary collapse
- .brightness(__v_src, __v_adjust) ⇒ Object
-
.contrast(__v_src, __v_adjust) ⇒ Object
Code.
- .filter(__v_src, filter, __v_divisor) ⇒ Object
- .gamma(__v_src, __v_level) ⇒ Object
- .mask(__v_src, __v_mask) ⇒ Object
- .rotate(__v_src, __v_angle) ⇒ Object
- .tint(*__p_argv, self) ⇒ Object
Class Method Details
.brightness(__v_src, __v_adjust) ⇒ Object
576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 |
# File 'ext/morandi_native/morandi_native.c', line 576
static VALUE
PixbufUtils_CLASS_brightness(VALUE self OPTIONAL_ATTR, VALUE __v_src OPTIONAL_ATTR, VALUE __v_adjust OPTIONAL_ATTR) {
VALUE __p_retval OPTIONAL_ATTR = Qnil;
GdkPixbuf *src;
GdkPixbuf *__orig_src;
int adjust;
int __orig_adjust;
__orig_src = src = GDK_PIXBUF(RVAL2GOBJ(__v_src));
__orig_adjust = adjust = NUM2INT(__v_adjust);
IGNORE(self);
do {
__p_retval = unref_pixbuf((pixbuf_adjust_brightness(src, gdk_pixbuf_copy(src), adjust)));
goto out;
}
while (0);
out:;
return __p_retval;
}
|
.contrast(__v_src, __v_adjust) ⇒ Object
Code
556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 |
# File 'ext/morandi_native/morandi_native.c', line 556
static VALUE
PixbufUtils_CLASS_contrast(VALUE self OPTIONAL_ATTR, VALUE __v_src OPTIONAL_ATTR, VALUE __v_adjust OPTIONAL_ATTR) {
VALUE __p_retval OPTIONAL_ATTR = Qnil;
GdkPixbuf *src;
GdkPixbuf *__orig_src;
int adjust;
int __orig_adjust;
__orig_src = src = GDK_PIXBUF(RVAL2GOBJ(__v_src));
__orig_adjust = adjust = NUM2INT(__v_adjust);
IGNORE(self);
do {
__p_retval = unref_pixbuf((pixbuf_adjust_contrast(src, gdk_pixbuf_copy(src), adjust)));
goto out;
}
while (0);
out:;
return __p_retval;
}
|
.filter(__v_src, filter, __v_divisor) ⇒ Object
596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 |
# File 'ext/morandi_native/morandi_native.c', line 596
static VALUE
PixbufUtils_CLASS_filter(VALUE self OPTIONAL_ATTR, VALUE __v_src OPTIONAL_ATTR, VALUE filter OPTIONAL_ATTR,
VALUE __v_divisor OPTIONAL_ATTR) {
VALUE __p_retval OPTIONAL_ATTR = Qnil;
GdkPixbuf *src;
GdkPixbuf *__orig_src;
double divisor;
double __orig_divisor;
__orig_src = src = GDK_PIXBUF(RVAL2GOBJ(__v_src));
Check_Type(filter, T_ARRAY);
__orig_divisor = divisor = NUM2DBL(__v_divisor);
do {
long matrix_size = RARRAY_LEN(filter), i;
int len;
double *matrix;
IGNORE(self);
len = (int) sqrt((double) matrix_size);
if ((len * len) != matrix_size) {
rb_raise(rb_eArgError, "Invalid matrix size - sqrt(%li)*sqrt(%li) != %li", matrix_size, matrix_size,
matrix_size);
}
matrix = ALLOCA_N(
double, matrix_size);
for (i = 0;
i < matrix_size;
i++) {
matrix[i] = NUM2DBL(RARRAY_PTR(filter)[i]);
}
do {
__p_retval = unref_pixbuf((pixbuf_convolution_matrix(src, gdk_pixbuf_copy(src), len, matrix, divisor)));
goto out;
}
while (0);
} while (0);
out:;
return __p_retval;
}
|
.gamma(__v_src, __v_level) ⇒ Object
659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 |
# File 'ext/morandi_native/morandi_native.c', line 659
static VALUE
PixbufUtils_CLASS_gamma(VALUE self OPTIONAL_ATTR, VALUE __v_src OPTIONAL_ATTR, VALUE __v_level OPTIONAL_ATTR) {
VALUE __p_retval OPTIONAL_ATTR = Qnil;
GdkPixbuf *src;
GdkPixbuf *__orig_src;
double level;
double __orig_level;
__orig_src = src = GDK_PIXBUF(RVAL2GOBJ(__v_src));
__orig_level = level = NUM2DBL(__v_level);
IGNORE(self);
do {
__p_retval = unref_pixbuf((pixbuf_gamma(src, gdk_pixbuf_copy(src), level)));
goto out;
}
while (0);
out:;
return __p_retval;
}
|
.mask(__v_src, __v_mask) ⇒ Object
725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 |
# File 'ext/morandi_native/morandi_native.c', line 725
static VALUE
PixbufUtils_CLASS_mask(VALUE self OPTIONAL_ATTR, VALUE __v_src OPTIONAL_ATTR, VALUE __v_mask OPTIONAL_ATTR) {
VALUE __p_retval OPTIONAL_ATTR = Qnil;
GdkPixbuf *src;
GdkPixbuf *__orig_src;
GdkPixbuf *mask;
GdkPixbuf *__orig_mask;
__orig_src = src = GDK_PIXBUF(RVAL2GOBJ(__v_src));
__orig_mask = mask = GDK_PIXBUF(RVAL2GOBJ(__v_mask));
IGNORE(self);
do {
__p_retval = unref_pixbuf((pixbuf_mask(src, mask)));
goto out;
}
while (0);
out:;
return __p_retval;
}
|
.rotate(__v_src, __v_angle) ⇒ Object
637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 |
# File 'ext/morandi_native/morandi_native.c', line 637
static VALUE
PixbufUtils_CLASS_rotate(VALUE self OPTIONAL_ATTR, VALUE __v_src OPTIONAL_ATTR, VALUE __v_angle OPTIONAL_ATTR) {
VALUE __p_retval OPTIONAL_ATTR = Qnil;
GdkPixbuf *src;
GdkPixbuf *__orig_src;
int angle;
int __orig_angle;
__orig_src = src = GDK_PIXBUF(RVAL2GOBJ(__v_src));
__orig_angle = angle = NUM2INT(__v_angle);
IGNORE(self);
g_assert(angle == 0 || angle == 90 || angle == 180 || angle == 270);
do {
__p_retval = unref_pixbuf((pixbuf_rotate(src, (rotate_angle_t) angle)));
goto out;
}
while (0);
out:;
return __p_retval;
}
|
.tint(*__p_argv, self) ⇒ Object
679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 |
# File 'ext/morandi_native/morandi_native.c', line 679
static VALUE
PixbufUtils_CLASS_tint(int __p_argc, VALUE *__p_argv, VALUE self) {
VALUE __p_retval OPTIONAL_ATTR = Qnil;
VALUE __v_src = Qnil;
GdkPixbuf *src;
GdkPixbuf *__orig_src;
VALUE __v_r = Qnil;
int r;
int __orig_r;
VALUE __v_g = Qnil;
int g;
int __orig_g;
VALUE __v_b = Qnil;
int b;
int __orig_b;
VALUE __v_alpha = Qnil;
int alpha;
int __orig_alpha;
/* Scan arguments */
rb_scan_args(__p_argc, __p_argv, "41", &__v_src, &__v_r, &__v_g, &__v_b, &__v_alpha);
/* Set defaults */
__orig_src = src = GDK_PIXBUF(RVAL2GOBJ(__v_src));
__orig_r = r = NUM2INT(__v_r);
__orig_g = g = NUM2INT(__v_g);
__orig_b = b = NUM2INT(__v_b);
if (__p_argc > 4)
__orig_alpha = alpha = NUM2INT(__v_alpha);
else
alpha = 255;
IGNORE(self);
do {
__p_retval = unref_pixbuf((pixbuf_tint(src, gdk_pixbuf_copy(src), r, g, b, alpha)));
goto out;
}
while (0);
out:;
return __p_retval;
}
|