Sha256: 25e707c218536f28fabb9611bf3a5f2fc124e936bace5618682de4506c030e3c

Contents?: true

Size: 990 Bytes

Versions: 21

Compression:

Stored size: 990 Bytes

Contents

#include "pattern.hpp"

using namespace Pixlib;

PatternHolder::PatternHolder() : pattern(nullptr) { }

PatternHolder::~PatternHolder() {
  if(pattern) {
    delete pattern;
  }
}

VALUE pattern_allocate(VALUE klass)
{
  PatternHolder * holder = new PatternHolder();

  return Data_Wrap_Struct(klass, NULL, deallocate, holder);
}

VALUE pattern_initialize(VALUE self, VALUE rb_string)
{
  PatternHolder * holder;

  Check_Type(rb_string, T_STRING);

  Data_Get_Struct(self, PatternHolder, holder);
  holder->pattern = new Pattern(StringValuePtr(rb_string));

  return self;
}


VALUE pattern_reset_start(VALUE self)
{
  PatternHolder * holder;

  Data_Get_Struct(self, PatternHolder, holder);

  if(holder->pattern) {
    holder->pattern->resetStart();
  }
  return Qtrue;
}


VALUE pattern_elapsed(VALUE self) 
{
  PatternHolder * holder;

  Data_Get_Struct(self, PatternHolder, holder);

  if(holder->pattern) {
    return DBL2NUM(holder->pattern->getTimeElapsed());
  }

  return Qnil;
}

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
pixo-0.4.5 ext/libpixgem/src/pattern.cpp
pixo-0.4.4 ext/libpixgem/src/pattern.cpp
pixo-0.4.3 ext/libpixgem/src/pattern.cpp
pixo-0.4.2 ext/libpixgem/src/pattern.cpp
pixo-0.4.1 ext/libpixgem/src/pattern.cpp
pixo-0.4.0 ext/libpixgem/src/pattern.cpp
pixo-0.3.2 ext/libpixgem/src/pattern.cpp
pixo-0.3.1 ext/libpixgem/src/pattern.cpp
pixo-0.3.0 ext/libpixgem/src/pattern.cpp
pixo-0.2.6 ext/libpixgem/src/pattern.cpp
pixo-0.2.5 ext/libpixgem/src/pattern.cpp
pixo-0.2.4 ext/libpixgem/src/pattern.cpp
pixo-0.2.3 ext/libpixgem/src/pattern.cpp
pixo-0.2.2 ext/libpixgem/src/pattern.cpp
pixo-0.2.1 ext/libpixgem/src/pattern.cpp
pixo-0.2.0 ext/libpixgem/src/pattern.cpp
pixo-0.1.4 ext/libpixgem/src/pattern.cpp
pixo-0.1.3 ext/libpixgem/src/pattern.cpp
pixo-0.1.2 ext/libpixgem/src/pattern.cpp
pixo-0.1.1 ext/libpixgem/src/pattern.cpp