The Birdfont Source Code


All Repositories / birdfont.git / blob – RSS feed

Doubles.vala in libbirdfont

This file is a part of the Birdfont project.

Contributing

Send patches or pull requests to johan.mattsson.m@gmail.com.
Clone this repository: git clone https://github.com/johanmattssonm/birdfont.git

Revisions

View the latest version of libbirdfont/Doubles.vala.
Use SVG transform, parse opacity and gradients
1 /* 2 Copyright (C) 2015 Johan Mattsson 3 4 This library is free software; you can redistribute it and/or modify 5 it under the terms of the GNU Lesser General Public License as 6 published by the Free Software Foundation; either version 3 of the 7 License, or (at your option) any later version. 8 9 This library is distributed in the hope that it will be useful, but 10 WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Lesser General Public License for more details. 13 */ 14 15 using Cairo; 16 17 namespace BirdFont { 18 19 public class Doubles : GLib.Object { 20 public double* data; 21 public int size = 0; 22 int capacity = 10; 23 24 public Doubles () { 25 data = new double[capacity]; 26 } 27 28 ~Doubles () { 29 delete data; 30 data = null; 31 } 32 33 public Doubles.for_capacity (int capacity) { 34 data = new double[capacity]; 35 this.capacity = capacity; 36 } 37 38 public void add(double d) { 39 if (size >= capacity) { 40 int new_capacity = 2 * capacity; 41 double* new_data = new double[new_capacity]; 42 Posix.memcpy (new_data, data, sizeof (double) * size); 43 delete data; 44 data = new_data; 45 capacity = new_capacity; 46 } 47 48 data[size] = d; 49 size++; 50 } 51 } 52 53 } 54 55