/ext/opencv/cvfont.h

http://github.com/ryanfb/ruby-opencv · C Header · 57 lines · 35 code · 13 blank · 9 comment · 1 complexity · 624a3aea07b22e1e4a3528543ea3ba60 MD5 · raw file

  1. /************************************************************
  2. cvfont.h -
  3. $Author: lsxi $
  4. Copyright (C) 2005-2006 Masakazu Yonekura
  5. ************************************************************/
  6. #ifndef RUBY_OPENCV_CVFONT_H
  7. #define RUBY_OPENCV_CVFONT_H
  8. #include "opencv.h"
  9. #define __NAMESPACE_BEGIN_CVFONT namespace cCvFont{
  10. #define __NAMESPACE_END_CVFONT }
  11. __NAMESPACE_BEGIN_OPENCV
  12. __NAMESPACE_BEGIN_CVFONT
  13. #define FONT_OPTION(op) NIL_P(op) ? rb_const_get(rb_class(), rb_intern("FONT_OPTION")) : rb_funcall(rb_const_get(rb_class(), rb_intern("FONT_OPTION")), rb_intern("merge"), 1, font_option)
  14. #define FO_ITALIC(op) ({VALUE _italic = rb_hash_aref(op, ID2SYM(rb_intern("italic"))); NIL_P(_italic) ? 0 : _italic == Qfalse ? 0 : CV_FONT_ITALIC;})
  15. #define FO_HSCALE(op) NUM2DBL(rb_hash_aref(op, ID2SYM(rb_intern("hscale"))))
  16. #define FO_VSCALE(op) NUM2DBL(rb_hash_aref(op, ID2SYM(rb_intern("vscale"))))
  17. #define FO_SHEAR(op) NUM2DBL(rb_hash_aref(op, ID2SYM(rb_intern("shear"))))
  18. #define FO_THICKNESS(op) FIX2INT(rb_hash_aref(op, ID2SYM(rb_intern("thickness"))))
  19. #define FO_LINE_TYPE(op) FIX2INT(rb_hash_aref(op, ID2SYM(rb_intern("line_type"))))
  20. VALUE rb_class();
  21. void define_ruby_class();
  22. VALUE rb_allocate(VALUE klass);
  23. VALUE rb_initialize(int argc, VALUE *argv, VALUE self);
  24. VALUE rb_face(VALUE self);
  25. VALUE rb_hscale(VALUE self);
  26. VALUE rb_vscale(VALUE self);
  27. VALUE rb_shear(VALUE self);
  28. VALUE rb_thickness(VALUE self);
  29. VALUE rb_line_type(VALUE self);
  30. VALUE rb_italic(VALUE self);
  31. __NAMESPACE_END_CVFONT
  32. inline CvFont*
  33. CVFONT(VALUE object)
  34. {
  35. CvFont *ptr;
  36. Data_Get_Struct(object, CvFont, ptr);
  37. return ptr;
  38. }
  39. __NAMESPACE_END_OPENCV
  40. #endif // RUBY_OPENCV_CVFONT_H