MCPcopy Create free account
hub / github.com/WheretIB/nullc / OnCreate

Function OnCreate

GUI/RichTextarea.cpp:659–703  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

657 static const unsigned int CONTEXT_PASTE = 2002;
658
659 void OnCreate(HWND wnd)
660 {
661 SetWindowLongPtr(wnd, 0, (WND_PTR_TYPE)(intptr_t)new TextareaData);
662
663 TextareaData *data = GetData(wnd);
664 memset(data, 0, sizeof(TextareaData));
665
666 // Create data that is shared between all instances
667 CreateShared(wnd);
668
669 // Init linear text buffer
670 data->areaTextSize = 16 * 1024;
671 data->areaText = new char[data->areaTextSize];
672 data->areaTextEx = new char[data->areaTextSize];
673 memset(data->areaText, 0, data->areaTextSize);
674 memset(data->areaTextEx, 0, data->areaTextSize);
675
676 // Create first line of text
677 data->currLine = data->firstLine = InsertLineAfter(NULL);
678 data->currLine->data[0].style = 0;
679
680 data->lineCount = 1;
681
682 data->history = new HistoryManager(data);
683
684 data->areaWnd = wnd;
685
686 static int timerID = 1;
687 SetTimer(wnd, timerID++, 62, AreaCursorUpdate);
688
689 // Create tooltip
690 data->toolTip = CreateWindowEx(WS_EX_TOPMOST, TOOLTIPS_CLASS, NULL, WS_POPUP | TTS_ALWAYSTIP | TTS_NOPREFIX,
691 CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, wnd, NULL, RichTextarea::instHandle, NULL);
692
693 memset(&data->toolInfo, 0, sizeof(TOOLINFO));
694 data->toolInfo.cbSize = sizeof(TOOLINFO);
695 data->toolInfo.uFlags = TTF_SUBCLASS;
696 data->toolInfo.hwnd = wnd;
697 data->toolInfo.hinst = RichTextarea::instHandle;
698 data->toolInfo.lpszText = "none";
699 GetClientRect(wnd, &data->toolInfo.rect);
700 data->toolInfo.rect.right = data->toolInfo.rect.left + RichTextarea::toolSize;
701
702 SendMessage(data->toolTip, TTM_ADDTOOL, 0, (LPARAM)&data->toolInfo);
703 }
704
705 void OnDestroy(HWND wnd)
706 {

Callers 1

TextareaProcMethod · 0.70

Calls 3

CreateSharedFunction · 0.85
InsertLineAfterFunction · 0.85
GetDataFunction · 0.70

Tested by

no test coverage detected