#include "Painter.h"
#include "WorkArea.h"
#include "buffer.h"
+#include "BufferView.h"
#include "font.h"
#include "insets/insettext.h"
#include "ColorHandler.h"
+#include "language.h"
using std::max;
using std::min;
-static
+namespace {
+
GC createGC()
{
XGCValues val;
| GCLineWidth | GCLineStyle , &val);
}
+} // namespace anon
+
// Constructor
LyXScreen::LyXScreen(WorkArea & o)
}
+LyXScreen::~LyXScreen()
+{
+ XFreeGC(fl_get_display(), gc_copy);
+}
+
+
void LyXScreen::setCursorColor()
{
- if (!lyxColorHandler) return;
+ if (!lyxColorHandler.get()) return;
GC gc = lyxColorHandler->getGCForeground(LColor::cursor);
int y_text = text->first + y1;
// get the first needed row
- Row * row = text->GetRowNearY(y_text);
+ Row * row = text->getRowNearY(y_text);
// y_text is now the real beginning of the row
int y = y_text - text->first;
LyXText::text_status st = bv->text->status;
do {
bv->text->status = st;
- text->GetVisibleRow(bv, y + y_offset,
+ text->getVisibleRow(bv, y + y_offset,
x_offset, row, y + text->first);
} while (bv->text->status == LyXText::CHANGED_IN_DRAW);
bv->text->status = st;
LyXText::text_status st = bv->text->status;
do {
bv->text->status = st;
- text->GetVisibleRow(bv, y, x_offset, row,
+ text->getVisibleRow(bv, y, x_offset, row,
y + text->first);
} while (bv->text->status == LyXText::CHANGED_IN_DRAW);
bv->text->status = st;
int y_offset, int x_offset)
{
// only if there is a selection
- if (!text->selection) return;
+ if (!text->selection.set()) return;
int const bottom = min(
- max(static_cast<int>(text->sel_end_cursor.y()
- - text->sel_end_cursor.row()->baseline()
- + text->sel_end_cursor.row()->height()),
+ max(static_cast<int>(text->selection.end.y()
+ - text->selection.end.row()->baseline()
+ + text->selection.end.row()->height()),
text->first),
static_cast<int>(text->first + owner.height()));
int const top = min(
- max(static_cast<int>(text->sel_start_cursor.y() -
- text->sel_start_cursor.row()->baseline()),
+ max(static_cast<int>(text->selection.start.y() -
+ text->selection.start.row()->baseline()),
text->first),
static_cast<int>(text->first + owner.height()));
if (kill_selection)
- text->selection = 0;
+ text->selection.set(false);
DrawFromTo(text, bv, top - text->first, bottom - text->first,
y_offset, x_offset);
expose(0, top - text->first,