}
// //eDebug("inserting %d bytes (into region %d)", len, region->region_id);
// eDebug("put data to region_buffer %p", &(*region->region_buffer));
- memcpy((__u8*)region->region_buffer->surface->data + region->region_width * y + x, data, len);
+ memcpy((__u8*)region->region_buffer->surface->data + region->region_buffer->surface->stride * y + x, data, len);
}
object = object->next;
}
region->region_height |= *segment++;
processed_length += 2;
- region->region_buffer = new gPixmap(eSize(region->region_width, region->region_height), 8);
+ region->region_buffer = new gPixmap(eSize(region->region_width, region->region_height), 8, 1);
//eDebug("new region_buffer %p", &(*region->region_buffer));
int region_level_of_compatibility, region_depth;
for (std::list<eDVBSubtitleRegion>::iterator it(m_dvb_page.m_regions.begin()); it != m_dvb_page.m_regions.end(); ++it)
{
eDebug("add %d %d %d %d", it->m_position.x(), it->m_position.y(), it->m_pixmap->size().width(), it->m_pixmap->size().height());
- m_visible_region.rects.push_back(eRect(it->m_position, it->m_pixmap->size()));
+ eRect r = eRect(it->m_position, it->m_pixmap->size());
+ r.scale(size().width(), 720, size().height(), 576);
+ m_visible_region.rects.push_back(r);
}
m_dvb_page_ok = 1;
m_hide_subtitles_timer->start(7500, true);