(plugin->config.style & BC_FONT_OUTLINE)) {
glyph->data_stroke = new VFrame(glyph->width, glyph->height, BC_A8, glyph->pitch);
glyph->data_stroke->clear_frame();
(plugin->config.style & BC_FONT_OUTLINE)) {
glyph->data_stroke = new VFrame(glyph->width, glyph->height, BC_A8, glyph->pitch);
glyph->data_stroke->clear_frame();
glyph->bottom = (bbox.yMin + 31) >> 6;
glyph->freetype_index = gindex;
glyph->advance_x = ((freetype_face->glyph->advance.x + 31) >> 6);
glyph->bottom = (bbox.yMin + 31) >> 6;
glyph->freetype_index = gindex;
glyph->advance_x = ((freetype_face->glyph->advance.x + 31) >> 6);
//glyph->width, glyph->height, glyph->pitch, glyph->left, glyph->top, glyph->advance_x, glyph->freetype_index);
//glyph->width, glyph->height, glyph->pitch, glyph->left, glyph->top, glyph->advance_x, glyph->freetype_index);
glyph->data = new VFrame(glyph->width, glyph->height, BC_A8, glyph->pitch);
glyph->data->clear_frame();
bm.buffer = glyph->data->get_data();
glyph->data = new VFrame(glyph->width, glyph->height, BC_A8, glyph->pitch);
glyph->data->clear_frame();
bm.buffer = glyph->data->get_data();
FT_Load_Glyph(freetype_face, gindex, FT_LOAD_DEFAULT);
FT_Get_Glyph(freetype_face->glyph, &glyph_image);
FT_Load_Glyph(freetype_face, gindex, FT_LOAD_DEFAULT);
FT_Get_Glyph(freetype_face->glyph, &glyph_image);
new VFrame(glyph->width, glyph->height, BC_A8, glyph->pitch);
glyph->data_stroke =
new VFrame(glyph->width, glyph->height, BC_A8, glyph->pitch);
new VFrame(glyph->width, glyph->height, BC_A8, glyph->pitch);
glyph->data_stroke =
new VFrame(glyph->width, glyph->height, BC_A8, glyph->pitch);
new VFrame(glyph->width, glyph->height, BC_A8, glyph->pitch);
glyph->data_stroke =
new VFrame(glyph->width, glyph->height, BC_A8, glyph->pitch);
new VFrame(glyph->width, glyph->height, BC_A8, glyph->pitch);
glyph->data_stroke =
new VFrame(glyph->width, glyph->height, BC_A8, glyph->pitch);
// "Fill Xmin: %ld, Xmax: %ld, Ymin: %ld, yMax: %ld\n",
// bbox.xMin,bbox.xMax, bbox.yMin, bbox.yMax,
// bbox_fill.xMin,bbox_fill.xMax, bbox_fill.yMin, bbox_fill.yMax);
// "Fill Xmin: %ld, Xmax: %ld, Ymin: %ld, yMax: %ld\n",
// bbox.xMin,bbox.xMax, bbox.yMin, bbox.yMax,
// bbox_fill.xMin,bbox_fill.xMax, bbox_fill.yMin, bbox_fill.yMax);
glyph->width = bm.width = ((bbox.xMax - bbox.xMin) >> 6)+1;
glyph->height = bm.rows = ((bbox.yMax - bbox.yMin) >> 6) +1;
glyph->pitch = bm.pitch = bm.width;
glyph->width = bm.width = ((bbox.xMax - bbox.xMin) >> 6)+1;
glyph->height = bm.rows = ((bbox.yMax - bbox.yMin) >> 6) +1;
glyph->pitch = bm.pitch = bm.width;
glyph->right = (bbox.xMax + 31) >> 6;
glyph->bottom = (bbox.yMin + 31) >> 6;
glyph->freetype_index = gindex;
glyph->right = (bbox.xMax + 31) >> 6;
glyph->bottom = (bbox.yMin + 31) >> 6;
glyph->freetype_index = gindex;
// glyph->width, glyph->height, glyph->pitch, glyph->left,
// glyph->top, glyph->advance_x, glyph->freetype_index);
// glyph->width, glyph->height, glyph->pitch, glyph->left,
// glyph->top, glyph->advance_x, glyph->freetype_index);
bm.buffer=glyph->data->get_data();
FT_Outline_Get_Bitmap( freetype_library,
&((FT_OutlineGlyph) glyph_image)->outline,
bm.buffer=glyph->data->get_data();
FT_Outline_Get_Bitmap( freetype_library,
&((FT_OutlineGlyph) glyph_image)->outline,
bm.buffer=glyph->data_stroke->get_data();
FT_Outline_Get_Bitmap( freetype_library,
&outline,
bm.buffer=glyph->data_stroke->get_data();
FT_Outline_Get_Bitmap( freetype_library,
&outline,
FL_WEIGHT_EXTRABOLD| FL_WEIGHT_BLACK | FL_WEIGHT_EXTRABLACK :
FL_WEIGHT_BOOK | FL_WEIGHT_NORMAL | FL_WEIGHT_MEDIUM |
FL_WEIGHT_LIGHT | FL_WEIGHT_EXTRALIGHT | FL_WEIGHT_THIN;
FL_WEIGHT_EXTRABOLD| FL_WEIGHT_BLACK | FL_WEIGHT_EXTRABLACK :
FL_WEIGHT_BOOK | FL_WEIGHT_NORMAL | FL_WEIGHT_MEDIUM |
FL_WEIGHT_LIGHT | FL_WEIGHT_EXTRALIGHT | FL_WEIGHT_THIN;
pref = style & (FL_SLANT_ITALIC | FL_WEIGHT_BOLD | FL_WEIGHT_NORMAL);
mask = FL_WEIGHT_MASK | FL_SLANT_MASK;
pref = style & (FL_SLANT_ITALIC | FL_WEIGHT_BOLD | FL_WEIGHT_NORMAL);
mask = FL_WEIGHT_MASK | FL_SLANT_MASK;
// if no previous keyframe exists, it should be start of the plugin, not start of the track
if(config.next_keyframe_position == config.prev_keyframe_position)
config.next_keyframe_position = get_source_start() + get_total_len();
// if no previous keyframe exists, it should be start of the plugin, not start of the track
if(config.next_keyframe_position == config.prev_keyframe_position)
config.next_keyframe_position = get_source_start() + get_total_len();
// config.prev_keyframe_position,
// config.next_keyframe_position);
// config.prev_keyframe_position,
// config.next_keyframe_position);