int ChatControlMessageFrame::getRemoteResourceHeight() { HDC deviceContext = GetDC(NULL); int height = calculateDrawTextHeight(deviceContext, strtowstr(message->getMessage().getRemoteResource()).c_str(), width, dateFont); ReleaseDC(NULL, deviceContext); return height; }
int ChatControlMessageFrame::getDateHeight() { HDC deviceContext = GetDC(NULL); int height = calculateDrawTextHeight(deviceContext, wcharDate.c_str(), width, dateFont); ReleaseDC(NULL, deviceContext); return height; }
void ChatControlMessageFrame::renderFrame(HDC deviceContext, int x, int y) { SetBkColor(deviceContext, color); RECT completeRect = { x, y, x + width, y + getHeight() }; HBRUSH brush = CreateSolidBrush(color); FillRect(deviceContext, &completeRect, brush); DeleteObject(brush); SetTextColor(deviceContext, RGB(110, 110, 110)); int dateHeight = calculateDrawTextHeight(deviceContext, wcharDate.c_str(), width, dateFont); drawTextRight(deviceContext, wcharDate.c_str(), x, y + getHeight() - dateHeight, width, dateFont); if (message->getMessage().getRemoteResource().size() > 0) { std::wstring remoteResource = strtowstr(message->getMessage().getRemoteResource()); int remoteResourceHeight = calculateDrawTextHeight(deviceContext, remoteResource.c_str(), width, dateFont); drawTextRight(deviceContext, remoteResource.c_str(), x, y + getHeight() - dateHeight - remoteResourceHeight, width, dateFont); } }
void ChatControlMessageElement::calculateHeight(int width) { if (type == CHAT_CONTROL_MESSAGE_ELEMENT_TEXT) { HDC deviceContext = GetDC(NULL); height = calculateDrawTextHeight(deviceContext, wcharText, width, static_cast<HFONT>(GetStockObject(DEFAULT_GUI_FONT))); ReleaseDC(NULL, deviceContext); } else if (type == CHAT_CONTROL_MESSAGE_ELEMENT_SMILEY) { height = 20; } }
int ChatControlMessageLocation::calculateHeight() { int height = getPreviewBitmapHeight(); HDC deviceContext = GetDC(NULL); height += calculateDrawTextHeight(deviceContext, text, getWidth(), static_cast<HFONT>(GetStockObject(DEFAULT_GUI_FONT))); ReleaseDC(NULL, deviceContext); if (getPreviewBitmapHeight() > 0) { height += 10; } return height; }
void DayBreak::calculateHeight() { HDC deviceContext = GetDC(NULL); height = calculateDrawTextHeight(deviceContext, dayStringW.c_str(), width, font.get()); ReleaseDC(NULL, deviceContext); }