Size: a a a

2020 April 24

DB

Denis Borzenko in ТП
То есть, у меня на стороне го заранее выделяется память под res размером width * height * 4. Эту область я и передаю для записи результата. Перевыделяю эту память я только при смене размера фрейма.
источник

️️

️️👑OGURCHIK 🖤 ️ in ТП
Denis Borzenko
int Capture(int fLeft, int fTop, int fWidth, int fHeight, void *res) {
 CURSORINFO cursor = { sizeof(cursor) };
 GetCursorInfo(&cursor);
 
 if (fLeft <= -0xffffff) {
   fLeft = cursor.ptScreenPos.x - fWidth / 2;
 }
 if (fTop <= -0xffffff) {
   fTop = cursor.ptScreenPos.y - fHeight / 2;
 }
 
 HWND hDesktopWnd = GetDesktopWindow();
 HDC hDesktopDC = GetDC(hDesktopWnd);
 HDC hCaptureDC = CreateCompatibleDC(hDesktopDC);
 HBITMAP hCaptureBitmap = CreateCompatibleBitmap(hDesktopDC, fWidth, fHeight);
 if (!hDesktopWnd) logError(__LINE__);
 if (!hDesktopDC) logError(__LINE__);
 if (!hCaptureDC) logError(__LINE__);
 if (!hCaptureBitmap) logError(__LINE__);
 if (!SelectObject(hCaptureDC, hCaptureBitmap)) {
   logError(__LINE__);
 }
 
 if (!BitBlt(hCaptureDC, 0, 0, fWidth, fHeight, hDesktopDC, fLeft, fTop, SRCCOPY | CAPTUREBLT)) {
   logError(__LINE__);
 }
 
 BITMAPINFO bmi = {0};
 bmi.bmiHeader.biSize = sizeof(bmi.bmiHeader);
 bmi.bmiHeader.biWidth = fWidth;
 bmi.bmiHeader.biHeight = -fHeight;
 bmi.bmiHeader.biPlanes = 1;
 bmi.bmiHeader.biBitCount = 32;
 bmi.bmiHeader.biCompression = BI_RGB;
 
 // RGBQUAD pPixels[fWidth * fHeight];
 
 int linesCopied = -1;
 linesCopied = GetDIBits(hCaptureDC, hCaptureBitmap, 0, fHeight, res, &bmi, DIB_RGB_COLORS);
 if (!linesCopied) {
   logError(__LINE__);
 }
 
 ReleaseDC(hDesktopWnd, hDesktopDC);
 DeleteDC(hCaptureDC);
 DeleteObject(hCaptureBitmap);
 
 return 0; // TODO: return error code here
}
void *res) 🤔🤔🤔🤔🤔
источник

DB

Denis Borzenko in ТП
️️👑OGURCHIK 🖤 ️
void *res) 🤔🤔🤔🤔🤔
А как надо?
источник

M

Mr.Fantom in ТП
Воид рес
источник

M

Mr.Fantom in ТП
Кстати да😂
источник

M

Mr.Fantom in ТП
Это ваще легально?
источник

️️

️️👑OGURCHIK 🖤 ️ in ТП
я конечно в го не шарю
источник

DB

Denis Borzenko in ТП
Ничо не понимаю. Что за реакция?
источник

️️

️️👑OGURCHIK 🖤 ️ in ТП
но это что то падазрительное
источник

DB

Denis Borzenko in ТП
Mr.Fantom
Это ваще легально?
Ну, типа, неопределенный указатель
источник

️️

️️👑OGURCHIK 🖤 ️ in ТП
для него него нет своего типа?
источник

️️

️️👑OGURCHIK 🖤 ️ in ТП
это меня ломает
источник

️️

️️👑OGURCHIK 🖤 ️ in ТП
войд как тип данных
источник

️️

️️👑OGURCHIK 🖤 ️ in ТП
я же с делфи начинал. сжальтесь
источник

DB

Denis Borzenko in ТП
Ну, типа, байты и байты
источник

M

Mr.Fantom in ТП
️️👑OGURCHIK 🖤 ️
я же с делфи начинал. сжальтесь
Норм
источник

DB

Denis Borzenko in ТП
Просто если конкретизировать, то cgo ругается на типы
источник

DB

Denis Borzenko in ТП
источник

M

Mr.Fantom in ТП
Denis Borzenko
Просто если конкретизировать, то cgo ругается на типы
Указывает, где конкретно ошибка?
Строка, столбец?)
источник

DB

Denis Borzenko in ТП
Mr.Fantom
Указывает, где конкретно ошибка?
Строка, столбец?)
Пффф, я бы и не спрашивал вас тогда )
источник