ruby-libgd 0.1.8 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6bebe9c1a521b1a7e5fc50f31a6abc29d0b075de0fa6761d8673ccfb9870b958
4
- data.tar.gz: 452861ff154b42c8618d891bf43cdaee7ac2c75f8376760a3225d432d0956914
3
+ metadata.gz: b6168e409037aa3a3c7db22f2fe7109b94ebed5ad6316f244b9b63cdaaf63c6e
4
+ data.tar.gz: faae4d925b00ee88c4b3684d7e6a11c5ee976a0971491d8ab7c7b976e97d081b
5
5
  SHA512:
6
- metadata.gz: 7a9ce11ae3c04fed19b4a5d8d44f4069acecf46df5f7bf3797bc2cb032d382a638eff535a932bb0d3f6ff4be26ba636cf55166ff0471674573951a2cc4825b40
7
- data.tar.gz: 5e0cbcdda5264574fb65b76273dbee942f55f03299cef0b3a091c5bff9528d5a773e58027e165f88933cfb5c122460dc4cb8b5bbe8bb8848e25e2f9a6d653b5e
6
+ metadata.gz: 040b1d596d1efd9336cc746e656c100f19d72443fdd10a0821e682646e3f23b87e9f48e6fd70e6671a7136102f6d1eeb848ef52b72794521239aac5e23ec53a7
7
+ data.tar.gz: 78341fdb34a67a9ad3f7da4876461c3c0bdc0c185cc696fbbabcf904bc235b890a2940731e2e6c6101eb938bdb328249d9372643e1dd3e71a5eae8c6ec2a9767
data/ext/gd/gd.c CHANGED
@@ -68,6 +68,7 @@ void Init_gd(void) {
68
68
 
69
69
  gd_define_blit(cGDImage);
70
70
  gd_define_fill(cGDImage);
71
+ gd_define_antialias(cGDImage);
71
72
 
72
73
  gd_define_pixel(cGDImage);
73
74
  gd_define_line(cGDImage);
data/ext/gd/gd.o CHANGED
Binary file
data/ext/gd/gd.so CHANGED
Binary file
data/ext/gd/image.c CHANGED
@@ -18,10 +18,14 @@ static VALUE gd_image_initialize(int argc, VALUE *argv, VALUE self) {
18
18
  if (w <= 0 || h <= 0)
19
19
  rb_raise(rb_eArgError, "width and height must be positive");
20
20
 
21
- wrap->img = gdImageCreateTrueColor(w, h);
21
+ wrap->img = gdImageCreateTrueColor(w,h);
22
+ gdImageSaveAlpha(wrap->img, 1);
23
+ gdImageAlphaBlending(wrap->img, 0);
24
+
25
+ int transparent = gdTrueColorAlpha(0,0,0,127);
26
+ gdImageFilledRectangle(wrap->img, 0,0,w,h, transparent);
22
27
 
23
28
  gdImageAlphaBlending(wrap->img, 1);
24
- gdImageSaveAlpha(wrap->img, 1);
25
29
 
26
30
  int t = gdTrueColorAlpha(0,0,0,127);
27
31
  gdImageFilledRectangle(wrap->img, 0, 0, w-1, h-1, t);
@@ -266,6 +270,23 @@ static VALUE gd_image_copy_resize(int argc, VALUE *argv, VALUE self) {
266
270
  return self;
267
271
  }
268
272
 
273
+ static VALUE gd_image_antialias(VALUE self, VALUE flag) {
274
+ gd_image_wrapper *wrap;
275
+ TypedData_Get_Struct(self, gd_image_wrapper, &gd_image_type, wrap);
276
+
277
+ if (RTEST(flag)) {
278
+ gdImageSetAntiAliased(wrap->img, gdAntiAliased);
279
+ } else {
280
+ gdImageSetAntiAliased(wrap->img, -1);
281
+ }
282
+
283
+ return Qnil;
284
+ }
285
+
286
+ void gd_define_antialias(VALUE cGDImage) {
287
+ rb_define_method(cGDImage, "antialias", gd_image_antialias, 1);
288
+ }
289
+
269
290
  void gd_define_image(VALUE mGD) {
270
291
  VALUE cGDImage = rb_define_class_under(mGD, "Image", rb_cObject);
271
292
 
@@ -281,4 +302,5 @@ void gd_define_image(VALUE mGD) {
281
302
  rb_define_singleton_method(cGDImage, "new_true_color", gd_image_s_new_true_color, 2);
282
303
  rb_define_method(cGDImage, "alpha_blending=", gd_image_alpha_blending, 1);
283
304
  rb_define_method(cGDImage, "save_alpha=", gd_image_save_alpha, 1);
305
+ rb_define_method(cGDImage, "antialias", gd_image_antialias, 1);
284
306
  }
data/ext/gd/image.o CHANGED
Binary file
data/ext/gd/ruby_gd.h CHANGED
@@ -17,6 +17,7 @@ int color_to_gd(gdImagePtr im, VALUE color);
17
17
  void gd_define_image(VALUE mGD);
18
18
  void gd_define_blit(VALUE cGDImage);
19
19
  void gd_define_fill(VALUE cGDImage);
20
+ void gd_define_antialias(VALUE cGDImage);
20
21
 
21
22
  void gd_define_pixel(VALUE cGDImage);
22
23
  void gd_define_line(VALUE cGDImage);
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-libgd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Germán Alberto Giménez Silva
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-01-08 00:00:00.000000000 Z
11
+ date: 2026-01-11 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: High-performance native Ruby bindings to libgd for image generation,
14
14
  drawing, filters, alpha blending, and transformations.