現在、ImGuiのSDL2/OpenGL2サンプルコードから学習中です。それから、私は以下に示すような行に(そしてもっと類似して)走りました。私はこの部分がSDLマウスイベントをIMGUI APIにバインドすると信じています。しかし、私はそれがどのように動作するかは分かりません。 0に等しくない一番混乱して私を作ることは最後の部分であるC++複数の演算子:AまたはBをCと等しく割り当てない
io.MouseDown[0] = g_MousePressed[0] || (mouseMask & SDL_BUTTON(SDL_BUTTON_LEFT)) != 0
、
ImGuiIO& io = ImGui::GetIO();
bool mouseDown[5]; // a member of ImGuiIO struct
static bool g_MousePressed[3] = { false, false, false };
Uint32 mouseMask = SDL_GetMouseState(&mx, &my);
(私は十分な情報である上記願っています...)
、私は可能性がありそれが、AndとOrの操作の結果の単純な割り当てであれば、それを理解してください。しかし、最後には0に等しくないので、これを見たことはありません。私はこのコードを理解するためにいくつかの助けをしたいと思います。
このスタンダールビットマスクのアプローチ、「ビットマスクC++」をグーグル。非ゼロと比較すると、与えられた値がマスクと一致することを意味します。 –