 |
|

31.07.2019, 22:49
|
|
Участник форума
Регистрация: 19.01.2017
Сообщений: 130
С нами:
4901705
Репутация:
98
|
|
Сообщение от CatKnight
Подскажите, как использовать курсор с имгуи? Не могу разобраться.
C++:
Код:
bool
bShowImGui_Menu
;
static
int
mouse_imgui_menu
=
2
;
if
(
bShowImGui_Menu
)
//if menu is ON -> ImGui::Begin("##ImGuiMenu", &bShowImGui_Menu....
{
mouse_imgui_menu
=
0
;
toggleSAMPCursor
(
1
)
;
keyhook.cpp)
if
(
ImGui_ImplWin32_WndProcHandler
(
wnd
,
umsg
,
wparam
,
lparam
)
)
return
true
;
|
|
|

31.07.2019, 23:07
|
|
Участник форума
Регистрация: 26.11.2015
Сообщений: 148
С нами:
5506473
Репутация:
78
|
|
Сообщение от Stiopko
Подробнее, курсор использовать в своих елементах, или просто информацию о курсоре, изменения позиции курсора, включение выключения видимости курсора?
Видимость и возможность использовать обычный системный курсор в имгуи элементах. Что-то вроде imgui.showCursor в луа.
Сообщение от _=Gigant=_
C++:
Код:
bool
bShowImGui_Menu
;
static
int
mouse_imgui_menu
=
2
;
if
(
bShowImGui_Menu
)
//if menu is ON -> ImGui::Begin("##ImGuiMenu", &bShowImGui_Menu....
{
mouse_imgui_menu
=
0
;
toggleSAMPCursor
(
1
)
;
keyhook.cpp)
if
(
ImGui_ImplWin32_WndProcHandler
(
wnd
,
umsg
,
wparam
,
lparam
)
)
return
true
;
Спасибо. Но хотелось бы реализацию с системным курсором из Windows.
|
|
|

31.07.2019, 23:10
|
|
Постоянный
Регистрация: 28.02.2018
Сообщений: 307
С нами:
4319022
Репутация:
113
|
|
Сообщение от CatKnight
Видимость и возможность использовать обычный системный курсор в имгуи элементах. Что-то вроде imgui.showCursor в луа.
Спасибо. Но хотелось бы реализацию с системным курсором из Windows.
Нету отдельного курсора в имгуи, есть один курсор
|
|
|

04.08.2019, 18:35
|
|
Познавший АНТИЧАТ
Регистрация: 01.04.2018
Сообщений: 1,710
С нами:
4272230
Репутация:
183
|
|
Какая будет нагрузка на процессор, если в потоке будет Sleep(0)?
|
|
|

04.08.2019, 23:38
|
|
Постоянный
Регистрация: 28.02.2018
Сообщений: 307
С нами:
4319022
Репутация:
113
|
|
Сообщение от Musaigen
Какая будет нагрузка на процессор, если в потоке будет Sleep(0)?
Я хз зачем это тебе но вот, бери, замерял в цикле с Sleep(0) и без, циклы выполнялся по 10000000 раз
Сообщение от Спойлер
C++:
[CODE]
#include
#include
#include
#include
int
main
(
)
{
size_t count
=
10000000
;
auto
start
=
std
::
chrono
::
system_clock
::
now
(
)
;
for
(
size_t i
=
0
;
i
elapsed_seconds
=
end
-
start
;
std
::
cout

|
|
|

05.08.2019, 01:09
|
|
Познавший АНТИЧАТ
Регистрация: 09.08.2015
Сообщений: 1,213
С нами:
5663255
Репутация:
183
|
|
Сообщение от Musaigen
Какая будет нагрузка на процессор, если в потоке будет Sleep(0)?
Нулевое значение аргумента в Sleep заставляет поток отказаться от оставшейся части его временного интервала в пользу любого другого потока, который готов к запуску. Если других потоков, готовых к выполнению нет, функция немедленно возвращается, и поток продолжает выполнение.*
* На некоторых версиях Windows поведение может немного отличаться.
** Подробнее, можешь еще википедию почитать.
Сообщение от Stiopko
Я хз зачем это тебе но вот, бери, замерял в цикле с Sleep(0) и без, циклы выполнялся по 10000000 раз
Сообщение от Спойлер
C++:
[CODE]
#include
#include
#include
#include
int
main
(
)
{
size_t count
=
10000000
;
auto
start
=
std
::
chrono
::
system_clock
::
now
(
)
;
for
(
size_t i
=
0
;
i
elapsed_seconds
=
end
-
start
;
std
::
cout
Нагрузка на процессор и время исполнения кода, не одно и тоже. К тому же мы не знаем какие оптимизации произвел компилятор в твоем случае.
|
|
|

05.08.2019, 02:54
|
|
Постоянный
Регистрация: 14.11.2017
Сообщений: 319
С нами:
4472205
Репутация:
163
|
|
Сообщение от Stiopko
Я хз зачем это тебе но вот, бери, замерял в цикле с Sleep(0) и без, циклы выполнялся по 10000000 раз
Сообщение от Спойлер
C++:
[CODE]
#include
#include
#include
#include
int
main
(
)
{
size_t count
=
10000000
;
auto
start
=
std
::
chrono
::
system_clock
::
now
(
)
;
for
(
size_t i
=
0
;
i
elapsed_seconds
=
end
-
start
;
std
::
cout
зачем это всё если есть отладчик?
|
|
|

05.08.2019, 14:16
|
|
Участник форума
Регистрация: 26.11.2015
Сообщений: 148
С нами:
5506473
Репутация:
78
|
|
Объясните, пожалуйста, как в wndproc заблокировать сообщение для окна, но оставить его для плагина своего? Сейчас использую хук wndprochandler, который изначально идёт в проекте sf plugin. Подходит он для этого же?
|
|
|

05.08.2019, 21:13
|
|
Новичок
Регистрация: 01.11.2013
Сообщений: 22
С нами:
6593689
Репутация:
51
|
|
Пытаюсь пропустить диалог с помощью кода ниже. Диалог пропускается, но перестают работать серверные команды. Сообщения в чат отправляются, но серверные команды не срабатывают ( Данную проблему заметил только на Evolve, на СРП он пропускает диалог и серверные команды работают ) Также пробовал закрывать диалог через SF->getSAMP()->getDialog()->Close(1); ( Проблема та же, диалог закрывается, команды серверные не работают)
Код:
Код:
if (params->packetId == ScriptRPCEnumeration::RPC_ScrShowDialog) {
WORD DialogID;
BYTE style, caplen, button1_len, button2_len;
char caption[255], button1[25], button2[25], info[0x1000];
params->bitStream->ResetReadPointer();
params->bitStream->Read(DialogID);
params->bitStream->Read(style);
params->bitStream->Read(caplen);
params->bitStream->Read(caption, caplen);
caption[caplen] = '\0';
params->bitStream->Read(button1_len);
params->bitStream->Read(button1, button1_len);
button1[button1_len] = '\0';
params->bitStream->Read(button2_len);
params->bitStream->Read(button2, button2_len);
button2[button2_len] = '\0';
SF->getRakNet()->DecodeString(info, 0x1000, params->bitStream);
if (DialogID == 0) return false;
}
|
|
|

05.08.2019, 21:19
|
|
Постоянный
Регистрация: 05.03.2014
Сообщений: 626
С нами:
6415078
Репутация:
163
|
|
Сообщение от Adder
Также пробовал закрывать диалог через SF->getSAMP()->getDialog()->Close(1);
офкос ты не закроешь диалог, который ещё не получил от сервера. закрывай после хука.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|