File Coverage

xs/layer.xs
Criterion Covered Total %
statement 16 24 66.6
branch 12 20 60.0
condition n/a
subroutine n/a
pod n/a
total 28 44 63.6


line stmt bran cond sub pod time code
1             MODULE = PDF::Make PACKAGE = PDF::Make::Layer
2             PROTOTYPES: ENABLE
3              
4             SV *
5             _create(class, doc, name)
6             char *class
7             pdfmake_doc_t *doc
8             const char *name
9             PREINIT:
10             pdfmake_ocg_t *ocg;
11             CODE:
12             PERL_UNUSED_VAR(class);
13 10           ocg = pdfmake_doc_create_ocg(doc, name);
14 10 50         if (!ocg)
15 0           croak("PDF::Make::Layer: failed to create layer '%s'", name);
16 10           RETVAL = sv_newmortal();
17 10           sv_setref_pv(RETVAL, "PDF::Make::Layer", (void *)ocg);
18 10           SvREFCNT_inc(RETVAL);
19             OUTPUT:
20             RETVAL
21              
22             const char *
23             name(self)
24             pdfmake_ocg_t *self
25             CODE:
26 3           RETVAL = self->name;
27             OUTPUT:
28             RETVAL
29              
30             const char *
31             res_name(self)
32             pdfmake_ocg_t *self
33             CODE:
34 17           RETVAL = self->res_name;
35             OUTPUT:
36             RETVAL
37              
38             int
39             visible(self, ...)
40             pdfmake_ocg_t *self
41             CODE:
42 10 100         if (items > 1) {
43 8           self->visible = SvIV(ST(1));
44             }
45 10 100         RETVAL = self->visible;
46             OUTPUT:
47             RETVAL
48              
49             void
50             set_print_state(self, state)
51             pdfmake_ocg_t *self
52             int state
53             CODE:
54 0           self->print_state = (pdfmake_ocg_state_t)state;
55 0           self->has_print_state = 1;
56              
57             void
58             set_view_state(self, state)
59             pdfmake_ocg_t *self
60             int state
61             CODE:
62 0           self->view_state = (pdfmake_ocg_state_t)state;
63 0           self->has_view_state = 1;
64              
65             void
66             set_export_state(self, state)
67             pdfmake_ocg_t *self
68             int state
69             CODE:
70 0           self->export_state = (pdfmake_ocg_state_t)state;
71 0           self->has_export_state = 1;
72              
73             UV
74             write_to_doc(self, doc)
75             pdfmake_ocg_t *self
76             pdfmake_doc_t *doc
77             CODE:
78 10           RETVAL = pdfmake_ocg_write(self, doc);
79 10 50         if (RETVAL == 0)
80 0           croak("PDF::Make::Layer: failed to write layer");
81             OUTPUT:
82             RETVAL
83              
84             void
85             DESTROY(self)
86             pdfmake_ocg_t *self
87             CODE:
88             /* OCG is arena-allocated, freed with document */
89             PERL_UNUSED_VAR(self);
90              
91             BOOT:
92             {
93 90           HV *stash = gv_stashpv("PDF::Make::Layer", GV_ADD);
94 90 50         PDFMAKE_REGISTER_GETTER(stash, "name", pdfmake_ocg_t, name, PDFMAKE_FIELD_STRING);
    50          
95 90 50         PDFMAKE_REGISTER_GETTER(stash, "res_name", pdfmake_ocg_t, res_name, PDFMAKE_FIELD_STRING);
    50          
96 90 50         PDFMAKE_REGISTER_GETTER(stash, "visible", pdfmake_ocg_t, visible, PDFMAKE_FIELD_INT);
    50          
97             }