wxRect wxRectFromPRectangle(PRectangle prc) {
wxRect rc(prc.left, prc.top,
- prc.right-prc.left+1, prc.bottom-prc.top+1);
+ prc.right-prc.left, prc.bottom-prc.top);
return rc;
}
Release();
hdc = new wxMemoryDC(surface_->hdc);
hdcOwned = true;
- bitmap = new wxBitmap(width, height+1);
+ bitmap = new wxBitmap(width, height);
((wxMemoryDC*)hdc)->SelectObject(*bitmap);
// **** ::SetTextAlign(hdc, TA_BASELINE);
}
}
void Surface::SetFont(Font &font_) {
-
- // I think the following check is valid.
- // It eliminates a crash for me. -- eric@sourcegear.com
-
- if (font_.GetID())
- {
+ if (font_.GetID()) {
hdc->SetFont(*font_.GetID());
}
}
}
void Surface::FlushCachedState() {
- // TODO Is there anything we need to do here? eric@sourcegear.com
- // TODO I had to add this method when I merged new Scintilla code
- // TODO from Neil.
}
Window::~Window() {
PRectangle Window::GetClientPosition() {
wxSize sz = id->GetClientSize();
- return PRectangle(0, 0, sz.x - 1, sz.y - 1);
+ return PRectangle(0, 0, sz.x, sz.y);
}
void Window::Show(bool show) {
0, NULL, wxLB_SINGLE | wxLB_SORT);
}
+PRectangle ListBox::GetDesiredRect() {
+ wxSize sz = ((wxListBox*)id)->GetBestSize();
+ PRectangle rc;
+ rc.top = 0;
+ rc.left = 0;
+ rc.right = sz.x;
+ rc.bottom = sz.y;
+
+ return rc;
+}
+
+void ListBox::SetAverageCharWidth(int width) {
+ aveCharWidth = width;
+}
+
+void ListBox::SetFont(Font &font) {
+ Window::SetFont(font);
+}
+
void ListBox::Clear() {
((wxListBox*)id)->Clear();
}
}
int ListBox::Find(const char *prefix) {
- for (int x=0; x < ((wxListBox*)id)->Number(); x++) {
- wxString text = ((wxListBox*)id)->GetString(x);
- if (text.StartsWith(prefix))
- return x;
+ if (prefix) {
+ for (int x=0; x < ((wxListBox*)id)->Number(); x++) {
+ wxString text = ((wxListBox*)id)->GetString(x);
+ if (text.StartsWith(prefix))
+ return x;
+ }
}
return -1;
}