diff options
Diffstat (limited to 'intern/ghost')
-rw-r--r-- | intern/ghost/intern/GHOST_ContextCGL.mm | 17 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_ContextEGL.cpp | 22 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_ContextWGL.cpp | 5 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_DisplayManager.cpp | 10 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_DropTargetX11.cpp | 6 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_EventDragnDrop.h | 2 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_EventManager.cpp | 8 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_NDOFManager.cpp | 126 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_NDOFManager.h | 95 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_Rect.cpp | 12 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_System.cpp | 16 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_SystemSDL.cpp | 31 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_SystemX11.cpp | 20 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_TimerManager.cpp | 10 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_WindowManager.cpp | 2 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_WindowWayland.cpp | 6 |
16 files changed, 205 insertions, 183 deletions
diff --git a/intern/ghost/intern/GHOST_ContextCGL.mm b/intern/ghost/intern/GHOST_ContextCGL.mm index 687173ded09..7af243846c2 100644 --- a/intern/ghost/intern/GHOST_ContextCGL.mm +++ b/intern/ghost/intern/GHOST_ContextCGL.mm @@ -217,7 +217,7 @@ static void makeAttribList(std::vector<NSOpenGLPixelFormatAttribute> &attribs, attribs.push_back(NSOpenGLPFAOpenGLProfile); attribs.push_back(coreProfile ? NSOpenGLProfileVersion3_2Core : NSOpenGLProfileVersionLegacy); - // Pixel Format Attributes for the windowed NSOpenGLContext + /* Pixel Format Attributes for the windowed NSOpenGLContext. */ attribs.push_back(NSOpenGLPFADoubleBuffer); if (softwareGL) { @@ -250,7 +250,8 @@ GHOST_TSuccess GHOST_ContextCGL::initializeDrawingContext() static const bool needAlpha = false; #endif - static bool softwareGL = getenv("BLENDER_SOFTWAREGL"); // command-line argument would be better + /* Command-line argument would be better. */ + static bool softwareGL = getenv("BLENDER_SOFTWAREGL"); std::vector<NSOpenGLPixelFormatAttribute> attribs; attribs.reserve(40); @@ -287,7 +288,7 @@ GHOST_TSuccess GHOST_ContextCGL::initializeDrawingContext() if (m_metalView) { if (m_defaultFramebuffer == 0) { - // Create a virtual framebuffer + /* Create a virtual frame-buffer. */ [m_openGLContext makeCurrentContext]; metalInitFramebuffer(); initClearGL(); @@ -342,11 +343,11 @@ void GHOST_ContextCGL::metalInit() /* clang-format on */ id<MTLDevice> device = m_metalLayer.device; - // Create a command queue for blit/present operation + /* Create a command queue for blit/present operation. */ m_metalCmdQueue = (MTLCommandQueue *)[device newCommandQueue]; [m_metalCmdQueue retain]; - // Create shaders for blit operation + /* Create shaders for blit operation. */ NSString *source = @R"msl( using namespace metal; @@ -387,7 +388,7 @@ void GHOST_ContextCGL::metalInit() "GHOST_ContextCGL::metalInit: newLibraryWithSource:options:error: failed!"); } - // Create a render pipeline for blit operation + /* Create a render pipeline for blit operation. */ MTLRenderPipelineDescriptor *desc = [[[MTLRenderPipelineDescriptor alloc] init] autorelease]; desc.fragmentFunction = [library newFunctionWithName:@"fragment_shader"]; @@ -460,7 +461,7 @@ void GHOST_ContextCGL::metalUpdateFramebuffer() "GHOST_ContextCGL::metalUpdateFramebuffer: CVPixelBufferCreate failed!"); } - // Create an OpenGL texture + /* Create an OpenGL texture. */ CVOpenGLTextureCacheRef cvGLTexCache = nil; cvret = CVOpenGLTextureCacheCreate(kCFAllocatorDefault, nil, @@ -485,7 +486,7 @@ void GHOST_ContextCGL::metalUpdateFramebuffer() unsigned int glTex; glTex = CVOpenGLTextureGetName(cvGLTex); - // Create a Metal texture + /* Create a Metal texture. */ CVMetalTextureCacheRef cvMetalTexCache = nil; cvret = CVMetalTextureCacheCreate( kCFAllocatorDefault, nil, m_metalLayer.device, nil, &cvMetalTexCache); diff --git a/intern/ghost/intern/GHOST_ContextEGL.cpp b/intern/ghost/intern/GHOST_ContextEGL.cpp index 0fee200ea1a..a64b2aef6a5 100644 --- a/intern/ghost/intern/GHOST_ContextEGL.cpp +++ b/intern/ghost/intern/GHOST_ContextEGL.cpp @@ -283,8 +283,8 @@ GHOST_TSuccess GHOST_ContextEGL::setSwapInterval(int interval) GHOST_TSuccess GHOST_ContextEGL::getSwapInterval(int &intervalOut) { - // This is a bit of a kludge because there does not seem to - // be a way to query the swap interval with EGL. + /* This is a bit of a kludge because there does not seem to + * be a way to query the swap interval with EGL. */ intervalOut = m_swap_interval; return GHOST_kSuccess; @@ -365,21 +365,21 @@ static const std::string &api_string(EGLenum api) GHOST_TSuccess GHOST_ContextEGL::initializeDrawingContext() { - // objects have to be declared here due to the use of goto + /* Objects have to be declared here due to the use of `goto`. */ std::vector<EGLint> attrib_list; EGLint num_config = 0; if (m_stereoVisual) fprintf(stderr, "Warning! Stereo OpenGL ES contexts are not supported.\n"); - m_stereoVisual = false; // It doesn't matter what the Window wants. + m_stereoVisual = false; /* It doesn't matter what the Window wants. */ if (!initContextEGLEW()) { return GHOST_kFailure; } #ifdef WITH_GL_ANGLE - // d3dcompiler_XX.dll needs to be loaded before ANGLE will work + /* `d3dcompiler_XX.dll` needs to be loaded before ANGLE will work. */ if (s_d3dcompiler == NULL) { s_d3dcompiler = LoadLibrary(D3DCOMPILER); @@ -410,13 +410,13 @@ GHOST_TSuccess GHOST_ContextEGL::initializeDrawingContext() if (!bindAPI(m_api)) goto error; - // build attribute list + /* Build attribute list. */ attrib_list.reserve(20); if (m_api == EGL_OPENGL_ES_API && EGLEW_VERSION_1_2) { - // According to the spec it seems that you are required to set EGL_RENDERABLE_TYPE, - // but some implementations (ANGLE) do not seem to care. + /* According to the spec it seems that you are required to set EGL_RENDERABLE_TYPE, + * but some implementations (ANGLE) do not seem to care. */ if (m_contextMajorVersion == 1) { attrib_list.push_back(EGL_RENDERABLE_TYPE); @@ -469,7 +469,7 @@ GHOST_TSuccess GHOST_ContextEGL::initializeDrawingContext() #endif if (m_nativeWindow == 0) { - // off-screen surface + /* Off-screen surface. */ attrib_list.push_back(EGL_SURFACE_TYPE); attrib_list.push_back(EGL_PBUFFER_BIT); } @@ -479,8 +479,8 @@ GHOST_TSuccess GHOST_ContextEGL::initializeDrawingContext() if (!EGL_CHK(::eglChooseConfig(m_display, &(attrib_list[0]), &m_config, 1, &num_config))) goto error; - // A common error is to assume that ChooseConfig worked because it returned EGL_TRUE - if (num_config != 1) // num_config should be exactly 1 + /* A common error is to assume that ChooseConfig worked because it returned EGL_TRUE. */ + if (num_config != 1) /* `num_config` should be exactly 1. */ goto error; if (m_nativeWindow != 0) { diff --git a/intern/ghost/intern/GHOST_ContextWGL.cpp b/intern/ghost/intern/GHOST_ContextWGL.cpp index ddb34a8afd9..b5b3fab838d 100644 --- a/intern/ghost/intern/GHOST_ContextWGL.cpp +++ b/intern/ghost/intern/GHOST_ContextWGL.cpp @@ -335,10 +335,11 @@ void GHOST_ContextWGL::initContextWGLEW(PIXELFORMATDESCRIPTOR &preferredPFD) if (!WIN32_CHK(::wglMakeCurrent(dummyHDC, dummyHGLRC))) goto finalize; - if (GLEW_CHK(glewInit()) != GLEW_OK) + if (GLEW_CHK(glewInit()) != GLEW_OK) { fprintf(stderr, "Warning! Dummy GLEW/WGLEW failed to initialize properly.\n"); + } - // the following are not technially WGLEW, but they also require a context to work + /* The following are not technically WGLEW, but they also require a context to work. */ #ifndef NDEBUG free((void *)m_dummyRenderer); diff --git a/intern/ghost/intern/GHOST_DisplayManager.cpp b/intern/ghost/intern/GHOST_DisplayManager.cpp index fe12a76753d..9abc652378a 100644 --- a/intern/ghost/intern/GHOST_DisplayManager.cpp +++ b/intern/ghost/intern/GHOST_DisplayManager.cpp @@ -51,7 +51,7 @@ GHOST_TSuccess GHOST_DisplayManager::initialize(void) GHOST_TSuccess GHOST_DisplayManager::getNumDisplays(uint8_t & /*numDisplays*/) const { - // Don't know if we have a display... + /* Don't know if we have a display. */ return GHOST_kFailure; } @@ -120,18 +120,18 @@ GHOST_TSuccess GHOST_DisplayManager::findMatch(uint8_t display, (int)setting.xPixels, (int)setting.yPixels, (int)setting.bpp, (int)setting.frequency}; int capabilities[4]; double field, score; - double best = 1e12; // A big number + double best = 1e12; /* A big number. */ int found = 0; - // Look at all the display modes + /* Look at all the display modes. */ for (int i = 0; (i < (int)m_settings[display].size()); i++) { - // Store the capabilities of the display device + /* Store the capabilities of the display device. */ capabilities[0] = m_settings[display][i].xPixels; capabilities[1] = m_settings[display][i].yPixels; capabilities[2] = m_settings[display][i].bpp; capabilities[3] = m_settings[display][i].frequency; - // Match against all the fields of the display settings + /* Match against all the fields of the display settings. */ score = 0; for (int j = 0; j < 4; j++) { field = capabilities[j] - criteria[j]; diff --git a/intern/ghost/intern/GHOST_DropTargetX11.cpp b/intern/ghost/intern/GHOST_DropTargetX11.cpp index 8758a27930e..dba1d305144 100644 --- a/intern/ghost/intern/GHOST_DropTargetX11.cpp +++ b/intern/ghost/intern/GHOST_DropTargetX11.cpp @@ -115,8 +115,10 @@ GHOST_DropTargetX11::~GHOST_DropTargetX11() /* Based on: https://stackoverflow.com/a/2766963/432509 */ typedef enum DecodeState_e { - STATE_SEARCH = 0, ///< searching for an ampersand to convert - STATE_CONVERTING ///< convert the two proceeding characters from hex + /** Searching for an ampersand to convert. */ + STATE_SEARCH = 0, + /** Convert the two proceeding characters from hex. */ + STATE_CONVERTING } DecodeState_e; void GHOST_DropTargetX11::UrlDecode(char *decodedOut, int bufferSize, const char *encodedIn) diff --git a/intern/ghost/intern/GHOST_EventDragnDrop.h b/intern/ghost/intern/GHOST_EventDragnDrop.h index 537717b1717..0095cedb8c8 100644 --- a/intern/ghost/intern/GHOST_EventDragnDrop.h +++ b/intern/ghost/intern/GHOST_EventDragnDrop.h @@ -90,7 +90,7 @@ class GHOST_EventDragnDrop : public GHOST_Event { ~GHOST_EventDragnDrop() { - // Free the dropped object data + /* Free the dropped object data. */ if (m_dragnDropEventData.data == NULL) return; diff --git a/intern/ghost/intern/GHOST_EventManager.cpp b/intern/ghost/intern/GHOST_EventManager.cpp index 15befb9afcb..6ddc362ac77 100644 --- a/intern/ghost/intern/GHOST_EventManager.cpp +++ b/intern/ghost/intern/GHOST_EventManager.cpp @@ -108,12 +108,12 @@ GHOST_TSuccess GHOST_EventManager::addConsumer(GHOST_IEventConsumer *consumer) GHOST_TSuccess success; GHOST_ASSERT(consumer, "invalid consumer"); - // Check to see whether the consumer is already in our list + /* Check to see whether the consumer is already in our list. */ TConsumerVector::const_iterator iter = std::find( m_consumers.begin(), m_consumers.end(), consumer); if (iter == m_consumers.end()) { - // Add the consumer + /* Add the consumer. */ m_consumers.push_back(consumer); success = GHOST_kSuccess; } @@ -128,11 +128,11 @@ GHOST_TSuccess GHOST_EventManager::removeConsumer(GHOST_IEventConsumer *consumer GHOST_TSuccess success; GHOST_ASSERT(consumer, "invalid consumer"); - // Check to see whether the consumer is in our list + /* Check to see whether the consumer is in our list. */ TConsumerVector::iterator iter = std::find(m_consumers.begin(), m_consumers.end(), consumer); if (iter != m_consumers.end()) { - // Remove the consumer + /* Remove the consumer. */ m_consumers.erase(iter); success = GHOST_kSuccess; } diff --git a/intern/ghost/intern/GHOST_NDOFManager.cpp b/intern/ghost/intern/GHOST_NDOFManager.cpp index 079ad67f737..0317c175273 100644 --- a/intern/ghost/intern/GHOST_NDOFManager.cpp +++ b/intern/ghost/intern/GHOST_NDOFManager.cpp @@ -22,51 +22,51 @@ #include <limits.h> #include <math.h> -#include <stdio.h> // for error/info reporting -#include <string.h> // for memory functions +#include <stdio.h> /* For error/info reporting. */ +#include <string.h> /* For memory functions. */ #ifdef DEBUG_NDOF_MOTION -// printable version of each GHOST_TProgress value +/* Printable version of each GHOST_TProgress value. */ static const char *progress_string[] = { "not started", "starting", "in progress", "finishing", "finished"}; #endif #ifdef DEBUG_NDOF_BUTTONS static const char *ndof_button_names[] = { - // used internally, never sent + /* used internally, never sent */ "NDOF_BUTTON_NONE", - // these two are available from any 3Dconnexion device + /* these two are available from any 3Dconnexion device */ "NDOF_BUTTON_MENU", "NDOF_BUTTON_FIT", - // standard views + /* standard views */ "NDOF_BUTTON_TOP", "NDOF_BUTTON_BOTTOM", "NDOF_BUTTON_LEFT", "NDOF_BUTTON_RIGHT", "NDOF_BUTTON_FRONT", "NDOF_BUTTON_BACK", - // more views + /* more views */ "NDOF_BUTTON_ISO1", "NDOF_BUTTON_ISO2", - // 90 degree rotations + /* 90 degree rotations */ "NDOF_BUTTON_ROLL_CW", "NDOF_BUTTON_ROLL_CCW", "NDOF_BUTTON_SPIN_CW", "NDOF_BUTTON_SPIN_CCW", "NDOF_BUTTON_TILT_CW", "NDOF_BUTTON_TILT_CCW", - // device control + /* device control */ "NDOF_BUTTON_ROTATE", "NDOF_BUTTON_PANZOOM", "NDOF_BUTTON_DOMINANT", "NDOF_BUTTON_PLUS", "NDOF_BUTTON_MINUS", - // keyboard emulation + /* keyboard emulation */ "NDOF_BUTTON_ESC", "NDOF_BUTTON_ALT", "NDOF_BUTTON_SHIFT", "NDOF_BUTTON_CTRL", - // general-purpose buttons + /* general-purpose buttons */ "NDOF_BUTTON_1", "NDOF_BUTTON_2", "NDOF_BUTTON_3", @@ -77,17 +77,17 @@ static const char *ndof_button_names[] = { "NDOF_BUTTON_8", "NDOF_BUTTON_9", "NDOF_BUTTON_10", - // more general-purpose buttons + /* more general-purpose buttons */ "NDOF_BUTTON_A", "NDOF_BUTTON_B", "NDOF_BUTTON_C", - // the end + /* the end */ "NDOF_BUTTON_LAST"}; #endif -// shared by the latest 3Dconnexion hardware -// SpacePilotPro uses all of these -// smaller devices use only some, based on button mask +/* Shared by the latest 3Dconnexion hardware + * SpacePilotPro uses all of these + * smaller devices use only some, based on button mask. */ static const NDOF_ButtonT Modern3Dx_HID_map[] = { NDOF_BUTTON_MENU, NDOF_BUTTON_FIT, NDOF_BUTTON_TOP, NDOF_BUTTON_LEFT, NDOF_BUTTON_RIGHT, NDOF_BUTTON_FRONT, NDOF_BUTTON_BOTTOM, NDOF_BUTTON_BACK, @@ -116,15 +116,15 @@ static const NDOF_ButtonT SpaceExplorer_HID_map[] = { NDOF_BUTTON_ROTATE, }; -// this is the older SpacePilot (sans Pro) -// thanks to polosson for info about this device +/* This is the older SpacePilot (sans Pro) + * thanks to polosson for info about this device. */ static const NDOF_ButtonT SpacePilot_HID_map[] = { NDOF_BUTTON_1, NDOF_BUTTON_2, NDOF_BUTTON_3, NDOF_BUTTON_4, NDOF_BUTTON_5, NDOF_BUTTON_6, NDOF_BUTTON_TOP, NDOF_BUTTON_LEFT, NDOF_BUTTON_RIGHT, NDOF_BUTTON_FRONT, NDOF_BUTTON_ESC, NDOF_BUTTON_ALT, NDOF_BUTTON_SHIFT, NDOF_BUTTON_CTRL, NDOF_BUTTON_FIT, NDOF_BUTTON_MENU, NDOF_BUTTON_PLUS, NDOF_BUTTON_MINUS, NDOF_BUTTON_DOMINANT, NDOF_BUTTON_ROTATE, - NDOF_BUTTON_NONE // the CONFIG button -- what does it do? + NDOF_BUTTON_NONE /* the CONFIG button -- what does it do? */ }; static const NDOF_ButtonT Generic_HID_map[] = { @@ -146,7 +146,7 @@ static const int genericButtonCount = sizeof(Generic_HID_map) / sizeof(NDOF_Butt GHOST_NDOFManager::GHOST_NDOFManager(GHOST_System &sys) : m_system(sys), - m_deviceType(NDOF_UnknownDevice), // each platform has its own device detection code + m_deviceType(NDOF_UnknownDevice), /* Each platform has its own device detection code. */ m_buttonCount(genericButtonCount), m_buttonMask(0), m_hidMap(Generic_HID_map), @@ -157,37 +157,37 @@ GHOST_NDOFManager::GHOST_NDOFManager(GHOST_System &sys) m_motionEventPending(false), m_deadZone(0.0f) { - // to avoid the rare situation where one triple is updated and - // the other is not, initialize them both here: + /* To avoid the rare situation where one triple is updated and + * the other is not, initialize them both here: */ memset(m_translation, 0, sizeof(m_translation)); memset(m_rotation, 0, sizeof(m_rotation)); } bool GHOST_NDOFManager::setDevice(unsigned short vendor_id, unsigned short product_id) { - // call this function until it returns true - // it's a good idea to stop calling it after that, as it will "forget" - // whichever device it already found + /* Call this function until it returns true + * it's a good idea to stop calling it after that, as it will "forget" + * whichever device it already found */ - // default to safe generic behavior for "unknown" devices - // unidentified devices will emit motion events like normal - // rogue buttons do nothing by default, but can be customized by the user + /* Default to safe generic behavior for "unknown" devices + * unidentified devices will emit motion events like normal + * rogue buttons do nothing by default, but can be customized by the user. */ m_deviceType = NDOF_UnknownDevice; m_hidMap = Generic_HID_map; m_buttonCount = genericButtonCount; m_buttonMask = 0; - // "mystery device" owners can help build a HID_map for their hardware - // A few users have already contributed information about several older devices - // that I don't have access to. Thanks! + /* "mystery device" owners can help build a HID_map for their hardware + * A few users have already contributed information about several older devices + * that I don't have access to. Thanks! */ switch (vendor_id) { - case 0x046D: // Logitech (3Dconnexion was a subsidiary) + case 0x046D: /* Logitech (3Dconnexion was a subsidiary). */ switch (product_id) { - // -- current devices -- - case 0xC626: // full-size SpaceNavigator - case 0xC628: // the "for Notebooks" one + /* -- current devices -- */ + case 0xC626: /* full-size SpaceNavigator */ + case 0xC628: /* the "for Notebooks" one */ puts("ndof: using SpaceNavigator"); m_deviceType = NDOF_SpaceNavigator; m_buttonCount = 2; @@ -209,12 +209,12 @@ bool GHOST_NDOFManager::setDevice(unsigned short vendor_id, unsigned short produ puts("ndof: using SpaceMouse Pro"); m_deviceType = NDOF_SpaceMousePro; m_buttonCount = 27; - // ^^ actually has 15 buttons, but their HID codes range from 0 to 26 + /* ^^ actually has 15 buttons, but their HID codes range from 0 to 26 */ m_buttonMask = 0x07C0F137; m_hidMap = Modern3Dx_HID_map; break; - // -- older devices -- + /* -- older devices -- */ case 0xC625: puts("ndof: using SpacePilot"); m_deviceType = NDOF_SpacePilot; @@ -236,21 +236,21 @@ bool GHOST_NDOFManager::setDevice(unsigned short vendor_id, unsigned short produ printf("ndof: unknown Logitech product %04hx\n", product_id); } break; - case 0x256F: // 3Dconnexion + case 0x256F: /* 3Dconnexion */ switch (product_id) { - case 0xC62E: // plugged in - case 0xC62F: // wireless + case 0xC62E: /* Plugged in. */ + case 0xC62F: /* Wireless. */ puts("ndof: using SpaceMouse Wireless"); m_deviceType = NDOF_SpaceMouseWireless; m_buttonCount = 2; m_hidMap = Modern3Dx_HID_map; break; - case 0xC631: // plugged in - case 0xC632: // wireless + case 0xC631: /* Plugged in. */ + case 0xC632: /* Wireless. */ puts("ndof: using SpaceMouse Pro Wireless"); m_deviceType = NDOF_SpaceMouseProWireless; m_buttonCount = 27; - // ^^ actually has 15 buttons, but their HID codes range from 0 to 26 + /* ^^ actually has 15 buttons, but their HID codes range from 0 to 26. */ m_buttonMask = 0x07C0F137; m_hidMap = Modern3Dx_HID_map; break; @@ -364,16 +364,16 @@ void GHOST_NDOFManager::updateButton(int button_number, bool press, uint64_t tim int mask = 1 << button_number; if (press) { - m_buttons |= mask; // set this button's bit + m_buttons |= mask; /* Set this button's bit. */ } else { - m_buttons &= ~mask; // clear this button's bit + m_buttons &= ~mask; /* Clear this button's bit. */ } } void GHOST_NDOFManager::updateButtons(int button_bits, uint64_t time) { - button_bits &= m_buttonMask; // discard any "garbage" bits + button_bits &= m_buttonMask; /* Discard any "garbage" bits. */ int diff = m_buttons ^ button_bits; @@ -390,11 +390,11 @@ void GHOST_NDOFManager::updateButtons(int button_bits, uint64_t time) void GHOST_NDOFManager::setDeadZone(float dz) { if (dz < 0.0f) { - // negative values don't make sense, so clamp at zero + /* Negative values don't make sense, so clamp at zero. */ dz = 0.0f; } else if (dz > 0.5f) { - // warn the rogue user/developer, but allow it + /* Warn the rogue user/developer, but allow it. */ GHOST_PRINTF("ndof: dead zone of %.2f is rather high...\n", dz); } m_deadZone = dz; @@ -426,22 +426,22 @@ bool GHOST_NDOFManager::sendMotionEvent() if (!m_motionEventPending) return false; - m_motionEventPending = false; // any pending motion is handled right now + m_motionEventPending = false; /* Any pending motion is handled right now. */ GHOST_IWindow *window = m_system.getWindowManager()->getActiveWindow(); if (window == NULL) { - m_motionState = GHOST_kNotStarted; // avoid large 'dt' times when changing windows - return false; // delivery will fail, so don't bother sending + m_motionState = GHOST_kNotStarted; /* Avoid large `dt` times when changing windows. */ + return false; /* Delivery will fail, so don't bother sending. */ } GHOST_EventNDOFMotion *event = new GHOST_EventNDOFMotion(m_motionTime, window); GHOST_TEventNDOFMotionData *data = (GHOST_TEventNDOFMotionData *)event->getData(); - // scale axis values here to normalize them to around +/- 1 - // they are scaled again for overall sensitivity in the WM based on user prefs + /* Scale axis values here to normalize them to around +/- 1 + * they are scaled again for overall sensitivity in the WM based on user preferences. */ - const float scale = 1.0f / 350.0f; // 3Dconnexion devices send +/- 350 usually + const float scale = 1.0f / 350.0f; /* 3Dconnexion devices send +/- 350 usually */ data->tx = scale * m_translation[0]; data->ty = scale * m_translation[1]; @@ -451,24 +451,24 @@ bool GHOST_NDOFManager::sendMotionEvent() data->ry = scale * m_rotation[1]; data->rz = scale * m_rotation[2]; - data->dt = 0.001f * (m_motionTime - m_prevMotionTime); // in seconds + data->dt = 0.001f * (m_motionTime - m_prevMotionTime); /* In seconds. */ m_prevMotionTime = m_motionTime; bool weHaveMotion = !nearHomePosition(data, m_deadZone); - // determine what kind of motion event to send (Starting, InProgress, Finishing) - // and where that leaves this NDOF manager (NotStarted, InProgress, Finished) + /* Determine what kind of motion event to send `(Starting, InProgress, Finishing)` + * and where that leaves this NDOF manager `(NotStarted, InProgress, Finished)`. */ switch (m_motionState) { case GHOST_kNotStarted: case GHOST_kFinished: if (weHaveMotion) { data->progress = GHOST_kStarting; m_motionState = GHOST_kInProgress; - // prev motion time will be ancient, so just make up a reasonable time delta + /* Previous motion time will be ancient, so just make up a reasonable time delta. */ data->dt = 0.0125f; } else { - // send no event and keep current state + /* Send no event and keep current state. */ #ifdef DEBUG_NDOF_MOTION printf("ndof motion ignored -- %s\n", progress_string[data->progress]); #endif @@ -479,20 +479,22 @@ bool GHOST_NDOFManager::sendMotionEvent() case GHOST_kInProgress: if (weHaveMotion) { data->progress = GHOST_kInProgress; - // remain 'InProgress' + /* Remain 'InProgress'. */ } else { data->progress = GHOST_kFinishing; m_motionState = GHOST_kFinished; } break; - default:; // will always be one of the above + default: + /* Will always be one of the above. */ + break; } #ifdef DEBUG_NDOF_MOTION printf("ndof motion sent -- %s\n", progress_string[data->progress]); - // show details about this motion event + /* Show details about this motion event. */ printf(" T=(%d,%d,%d) R=(%d,%d,%d) raw\n", m_translation[0], m_translation[1], diff --git a/intern/ghost/intern/GHOST_NDOFManager.h b/intern/ghost/intern/GHOST_NDOFManager.h index 7be129c327c..9c2824e57fb 100644 --- a/intern/ghost/intern/GHOST_NDOFManager.h +++ b/intern/ghost/intern/GHOST_NDOFManager.h @@ -28,7 +28,7 @@ typedef enum { NDOF_UnknownDevice, - // current devices + /* Current devices. */ NDOF_SpaceNavigator, NDOF_SpaceExplorer, NDOF_SpacePilotPro, @@ -37,51 +37,51 @@ typedef enum { NDOF_SpaceMouseProWireless, NDOF_SpaceMouseEnterprise, - // older devices + /* Older devices. */ NDOF_SpacePilot, NDOF_Spaceball5000, NDOF_SpaceTraveler } NDOF_DeviceT; -// NDOF device button event types +/* NDOF device button event types */ typedef enum { - // used internally, never sent + /* Used internally, never sent. */ NDOF_BUTTON_NONE, - // these two are available from any 3Dconnexion device + /* These two are available from any 3Dconnexion device. */ NDOF_BUTTON_MENU, NDOF_BUTTON_FIT, - // standard views + /* Standard views. */ NDOF_BUTTON_TOP, NDOF_BUTTON_BOTTOM, NDOF_BUTTON_LEFT, NDOF_BUTTON_RIGHT, NDOF_BUTTON_FRONT, NDOF_BUTTON_BACK, - // more views + /* More views. */ NDOF_BUTTON_ISO1, NDOF_BUTTON_ISO2, - // 90 degree rotations - // these don't all correspond to physical buttons + /* 90 degree rotations. + * These don't all correspond to physical buttons. */ NDOF_BUTTON_ROLL_CW, NDOF_BUTTON_ROLL_CCW, NDOF_BUTTON_SPIN_CW, NDOF_BUTTON_SPIN_CCW, NDOF_BUTTON_TILT_CW, NDOF_BUTTON_TILT_CCW, - // device control + /* Device control. */ NDOF_BUTTON_ROTATE, NDOF_BUTTON_PANZOOM, NDOF_BUTTON_DOMINANT, NDOF_BUTTON_PLUS, NDOF_BUTTON_MINUS, - // keyboard emulation + /* Keyboard emulation. */ NDOF_BUTTON_ESC, NDOF_BUTTON_ALT, NDOF_BUTTON_SHIFT, NDOF_BUTTON_CTRL, - // general-purpose buttons - // users can assign functions via keymap editor + /* General-purpose buttons. + * Users can assign functions via keymap editor. */ NDOF_BUTTON_1, NDOF_BUTTON_2, NDOF_BUTTON_3, @@ -92,11 +92,11 @@ typedef enum { NDOF_BUTTON_8, NDOF_BUTTON_9, NDOF_BUTTON_10, - // more general-purpose buttons + /* More general-purpose buttons. */ NDOF_BUTTON_A, NDOF_BUTTON_B, NDOF_BUTTON_C, - // the end + /* The end. */ NDOF_BUTTON_LAST } NDOF_ButtonT; @@ -107,40 +107,53 @@ class GHOST_NDOFManager { { } - // whether multi-axis functionality is available (via the OS or driver) - // does not imply that a device is plugged in or being used + /** + * Whether multi-axis functionality is available (via the OS or driver) + * does not imply that a device is plugged in or being used. + */ virtual bool available() = 0; - // each platform's device detection should call this - // use standard USB/HID identifiers + /** + * Rach platform's device detection should call this + * use standard USB/HID identifiers. + */ bool setDevice(unsigned short vendor_id, unsigned short product_id); - // filter out small/accidental/uncalibrated motions by - // setting up a "dead zone" around home position - // set to 0 to disable - // 0.1 is a safe and reasonable value + /** + * Filter out small/accidental/un-calibrated motions by + * setting up a "dead zone" around home position + * set to 0 to disable + * 0.1 is a safe and reasonable value. + */ void setDeadZone(float); - // the latest raw axis data from the device - // NOTE: axis data should be in blender view coordinates - // +X is to the right - // +Y is up - // +Z is out of the screen - // for rotations, look from origin to each +axis - // rotations are + when CCW, - when CW - // each platform is responsible for getting axis data into this form - // these values should not be scaled (just shuffled or flipped) + /** + * The latest raw axis data from the device. + * + * \note axis data should be in blender view coordinates + * - +X is to the right. + * - +Y is up. + * - +Z is out of the screen. + * - for rotations, look from origin to each +axis. + * - rotations are + when CCW, - when CW. + * Each platform is responsible for getting axis data into this form + * these values should not be scaled (just shuffled or flipped). + */ void updateTranslation(const int t[3], uint64_t time); void updateRotation(const int r[3], uint64_t time); - // the latest raw button data from the device - // use HID button encoding (not NDOF_ButtonT) + /** + * The latest raw button data from the device + * use HID button encoding (not #NDOF_ButtonT). + */ void updateButton(int button_number, bool press, uint64_t time); void updateButtons(int button_bits, uint64_t time); - // NDOFButton events are sent immediately + /* #NDOFButton events are sent immediately */ - // processes and sends most recent raw data as an NDOFMotion event - // returns whether an event was sent + /** + * Processes and sends most recent raw data as an #NDOFMotion event + * returns whether an event was sent. + */ bool sendMotionEvent(); protected: @@ -157,12 +170,12 @@ class GHOST_NDOFManager { int m_translation[3]; int m_rotation[3]; - int m_buttons; // bit field + int m_buttons; /* Bit field. */ - uint64_t m_motionTime; // in milliseconds - uint64_t m_prevMotionTime; // time of most recent Motion event sent + uint64_t m_motionTime; /* In milliseconds. */ + uint64_t m_prevMotionTime; /* Time of most recent motion event sent. */ GHOST_TProgress m_motionState; bool m_motionEventPending; - float m_deadZone; // discard motion with each component < this + float m_deadZone; /* Discard motion with each component < this. */ }; diff --git a/intern/ghost/intern/GHOST_Rect.cpp b/intern/ghost/intern/GHOST_Rect.cpp index 8ef9486f35a..78c88cb0a71 100644 --- a/intern/ghost/intern/GHOST_Rect.cpp +++ b/intern/ghost/intern/GHOST_Rect.cpp @@ -26,14 +26,14 @@ void GHOST_Rect::inset(int32_t i) { if (i > 0) { - // Grow the rectangle + /* Grow the rectangle. */ m_l -= i; m_r += i; m_t -= i; m_b += i; } else if (i < 0) { - // Shrink the rectangle, check for insets larger than half the size + /* Shrink the rectangle, check for insets larger than half the size. */ int32_t i2 = i * 2; if (getWidth() > i2) { m_l += i; @@ -62,12 +62,12 @@ GHOST_TVisibility GHOST_Rect::getVisibility(GHOST_Rect &r) const bool rb = isInside(r.m_r, r.m_b); GHOST_TVisibility v; if (lt && rt && lb && rb) { - // All points inside, rectangle is inside this + /* All points inside, rectangle is inside this. */ v = GHOST_kFullyVisible; } else if (!(lt || rt || lb || rb)) { - // None of the points inside - // Check to see whether the rectangle is larger than this one + /* None of the points inside. + * Check to see whether the rectangle is larger than this one. */ if ((r.m_l < m_l) && (r.m_t < m_t) && (r.m_r > m_r) && (r.m_b > m_b)) { v = GHOST_kPartiallyVisible; } @@ -76,7 +76,7 @@ GHOST_TVisibility GHOST_Rect::getVisibility(GHOST_Rect &r) const } } else { - // Some of the points inside, rectangle is partially inside + /* Some of the points inside, rectangle is partially inside. */ v = GHOST_kPartiallyVisible; } return v; diff --git a/intern/ghost/intern/GHOST_System.cpp b/intern/ghost/intern/GHOST_System.cpp index f6659cf50dc..d09c167cb95 100644 --- a/intern/ghost/intern/GHOST_System.cpp +++ b/intern/ghost/intern/GHOST_System.cpp @@ -72,7 +72,7 @@ GHOST_ITimerTask *GHOST_System::installTimer(uint64_t delay, GHOST_TimerTask *timer = new GHOST_TimerTask(millis + delay, interval, timerProc, userData); if (timer) { if (m_timerManager->addTimer(timer) == GHOST_kSuccess) { - // Check to see whether we need to fire the timer right away + /* Check to see whether we need to fire the timer right away. */ m_timerManager->fireTimers(millis); } else { @@ -208,7 +208,7 @@ bool GHOST_System::getFullScreen(void) void GHOST_System::dispatchEvents() { #ifdef WITH_INPUT_NDOF - // NDOF Motion event is sent only once per dispatch, so do it now: + /* NDOF Motion event is sent only once per dispatch, so do it now: */ if (m_ndofManager) { m_ndofManager->sendMotionEvent(); } @@ -260,10 +260,10 @@ GHOST_TSuccess GHOST_System::pushEvent(GHOST_IEvent *event) GHOST_TSuccess GHOST_System::getModifierKeyState(GHOST_TModifierKeyMask mask, bool &isDown) const { GHOST_ModifierKeys keys; - // Get the state of all modifier keys + /* Get the state of all modifier keys. */ GHOST_TSuccess success = getModifierKeys(keys); if (success) { - // Isolate the state of the key requested + /* Isolate the state of the key requested. */ isDown = keys.get(mask); } return success; @@ -272,10 +272,10 @@ GHOST_TSuccess GHOST_System::getModifierKeyState(GHOST_TModifierKeyMask mask, bo GHOST_TSuccess GHOST_System::getButtonState(GHOST_TButtonMask mask, bool &isDown) const { GHOST_Buttons buttons; - // Get the state of all mouse buttons + /* Get the state of all mouse buttons. */ GHOST_TSuccess success = getButtons(buttons); if (success) { - // Isolate the state of the mouse button requested + /* Isolate the state of the mouse button requested. */ isDown = buttons.get(mask); } return success; @@ -311,7 +311,7 @@ GHOST_TSuccess GHOST_System::init() m_eventPrinter = new GHOST_EventPrinter(); m_eventManager->addConsumer(m_eventPrinter); } -#endif // WITH_GHOST_DEBUG +#endif /* WITH_GHOST_DEBUG */ if (m_timerManager && m_windowManager && m_eventManager) { return GHOST_kSuccess; @@ -359,7 +359,7 @@ GHOST_TSuccess GHOST_System::createFullScreenWindow(GHOST_Window **window, if (alphaBackground) glSettings.flags |= GHOST_glAlphaBackground; - /* note: don't use getCurrentDisplaySetting() because on X11 we may + /* NOTE: don't use #getCurrentDisplaySetting() because on X11 we may * be zoomed in and the desktop may be bigger than the viewport. */ GHOST_ASSERT(m_displayManager, "GHOST_System::createFullScreenWindow(): invalid display manager"); diff --git a/intern/ghost/intern/GHOST_SystemSDL.cpp b/intern/ghost/intern/GHOST_SystemSDL.cpp index f2f1b26b8e5..0309a4f9c52 100644 --- a/intern/ghost/intern/GHOST_SystemSDL.cpp +++ b/intern/ghost/intern/GHOST_SystemSDL.cpp @@ -143,7 +143,7 @@ GHOST_IContext *GHOST_SystemSDL::createOffscreenContext(GHOST_GLSettings glSetti { GHOST_Context *context = new GHOST_ContextSDL(0, NULL, - 0, // profile bit + 0, /* Profile bit. */ 3, 3, GHOST_OPENGL_SDL_CONTEXT_FLAGS, @@ -279,7 +279,7 @@ static GHOST_TKey convertSDLKey(SDL_Scancode key) GXMAP(type, SDL_SCANCODE_AUDIOPLAY, GHOST_kKeyMediaPlay); GXMAP(type, SDL_SCANCODE_AUDIOSTOP, GHOST_kKeyMediaStop); GXMAP(type, SDL_SCANCODE_AUDIOPREV, GHOST_kKeyMediaFirst); - // GXMAP(type,XF86XK_AudioRewind, GHOST_kKeyMediaFirst); + // GXMAP(type, XF86XK_AudioRewind, GHOST_kKeyMediaFirst); GXMAP(type, SDL_SCANCODE_AUDIONEXT, GHOST_kKeyMediaLast); default: @@ -315,7 +315,10 @@ void GHOST_SystemSDL::processEvent(SDL_Event *sdl_event) SDL_WindowEvent &sdl_sub_evt = sdl_event->window; GHOST_WindowSDL *window = findGhostWindow( SDL_GetWindowFromID_fallback(sdl_sub_evt.windowID)); - // assert(window != NULL); // can be NULL on close window. + /* Can be NULL on close window. */ +#if 0 + assert(window != NULL); +#endif switch (sdl_sub_evt.event) { case SDL_WINDOWEVENT_EXPOSED: @@ -376,14 +379,14 @@ void GHOST_SystemSDL::processEvent(SDL_Event *sdl_event) bounds.wrapPoint(x_new, y_new, 8, window->getCursorGrabAxis()); window->getCursorGrabAccum(x_accum, y_accum); - // can't use setCursorPosition because the mouse may have no focus! + /* Can't use #setCursorPosition because the mouse may have no focus! */ if (x_new != x_root || y_new != y_root) { - if (1) { //xme.time > m_last_warp) { + if (1 /* `xme.time > m_last_warp` */ ) { /* when wrapping we don't need to add an event because the - * setCursorPosition call will cause a new event after */ + * #setCursorPosition call will cause a new event after */ SDL_WarpMouseInWindow(sdl_win, x_new - x_win, y_new - y_win); /* wrap */ window->setCursorGrabAccum(x_accum + (x_root - x_new), y_accum + (y_root - y_new)); - // m_last_warp= lastEventTime(xme.time); + // m_last_warp = lastEventTime(xme.time); } else { // setCursorPosition(x_new, y_new); /* wrap but don't accumulate */ @@ -659,8 +662,8 @@ bool GHOST_SystemSDL::generateWindowExposeEvents() bool GHOST_SystemSDL::processEvents(bool waitForEvent) { - // Get all the current events -- translate them into - // ghost events and call base class pushEvent() method. + /* Get all the current events - translate them into + * ghost events and call base class #pushEvent() method. */ bool anyProcessed = false; @@ -679,7 +682,7 @@ bool GHOST_SystemSDL::processEvents(bool waitForEvent) if (maxSleep >= 0) { SDL_WaitEventTimeout(NULL, next - getMilliSeconds()); - // SleepTillEvent(m_display, next - getMilliSeconds()); // X11 + // SleepTillEvent(m_display, next - getMilliSeconds()); /* X11. */ } } } @@ -707,10 +710,10 @@ GHOST_WindowSDL *GHOST_SystemSDL::findGhostWindow(SDL_Window *sdl_win) if (sdl_win == NULL) return NULL; - // It is not entirely safe to do this as the backptr may point - // to a window that has recently been removed. - // We should always check the window manager's list of windows - // and only process events on these windows. + /* It is not entirely safe to do this as the backptr may point + * to a window that has recently been removed. + * We should always check the window manager's list of windows + * and only process events on these windows. */ const std::vector<GHOST_IWindow *> &win_vec = m_windowManager->getWindows(); diff --git a/intern/ghost/intern/GHOST_SystemX11.cpp b/intern/ghost/intern/GHOST_SystemX11.cpp index 172fcbeb3de..e36bfd1aaeb 100644 --- a/intern/ghost/intern/GHOST_SystemX11.cpp +++ b/intern/ghost/intern/GHOST_SystemX11.cpp @@ -396,15 +396,15 @@ GHOST_IWindow *GHOST_SystemX11::createWindow(const char *title, */ GHOST_IContext *GHOST_SystemX11::createOffscreenContext(GHOST_GLSettings glSettings) { - // During development: - // try 4.x compatibility profile - // try 3.3 compatibility profile - // fall back to 3.0 if needed - // - // Final Blender 2.8: - // try 4.x core profile - // try 3.3 core profile - // no fallbacks + /* During development: + * try 4.x compatibility profile + * try 3.3 compatibility profile + * fall back to 3.0 if needed + * + * Final Blender 2.8: + * try 4.x core profile + * try 3.3 core profile + * no fall-backs. */ const bool debug_context = (glSettings.flags & GHOST_glDebugContext) != 0; @@ -2014,7 +2014,7 @@ void GHOST_SystemX11::getClipboard_xcout(const XEvent *evt, return; } - // not using INCR mechanism, just read the property + /* Not using INCR mechanism, just read the property. */ XGetWindowProperty(m_display, win, m_atom.XCLIP_OUT, diff --git a/intern/ghost/intern/GHOST_TimerManager.cpp b/intern/ghost/intern/GHOST_TimerManager.cpp index 195135f5f85..0c88150381f 100644 --- a/intern/ghost/intern/GHOST_TimerManager.cpp +++ b/intern/ghost/intern/GHOST_TimerManager.cpp @@ -55,7 +55,7 @@ GHOST_TSuccess GHOST_TimerManager::addTimer(GHOST_TimerTask *timer) { GHOST_TSuccess success; if (!getTimerFound(timer)) { - // Add the timer task + /* Add the timer task. */ m_timers.push_back(timer); success = GHOST_kSuccess; } @@ -70,7 +70,7 @@ GHOST_TSuccess GHOST_TimerManager::removeTimer(GHOST_TimerTask *timer) GHOST_TSuccess success; TTimerVector::iterator iter = std::find(m_timers.begin(), m_timers.end(), timer); if (iter != m_timers.end()) { - // Remove the timer task + /* Remove the timer task. */ m_timers.erase(iter); delete timer; success = GHOST_kSuccess; @@ -113,14 +113,14 @@ bool GHOST_TimerManager::fireTimer(uint64_t time, GHOST_TimerTask *task) { uint64_t next = task->getNext(); - // Check if the timer should be fired + /* Check if the timer should be fired. */ if (time > next) { - // Fire the timer + /* Fire the timer. */ GHOST_TimerProcPtr timerProc = task->getTimerProc(); uint64_t start = task->getStart(); timerProc(task, time - start); - // Update the time at which we will fire it again + /* Update the time at which we will fire it again. */ uint64_t interval = task->getInterval(); uint64_t numCalls = (next - start) / interval; numCalls++; diff --git a/intern/ghost/intern/GHOST_WindowManager.cpp b/intern/ghost/intern/GHOST_WindowManager.cpp index eec4bc5f7d0..4cb80884209 100644 --- a/intern/ghost/intern/GHOST_WindowManager.cpp +++ b/intern/ghost/intern/GHOST_WindowManager.cpp @@ -45,7 +45,7 @@ GHOST_TSuccess GHOST_WindowManager::addWindow(GHOST_IWindow *window) GHOST_TSuccess success = GHOST_kFailure; if (window) { if (!getWindowFound(window)) { - // Store the pointer to the window + /* Store the pointer to the window. */ m_windows.push_back(window); success = GHOST_kSuccess; } diff --git a/intern/ghost/intern/GHOST_WindowWayland.cpp b/intern/ghost/intern/GHOST_WindowWayland.cpp index d0c8cfb9e73..71062a4b6d6 100644 --- a/intern/ghost/intern/GHOST_WindowWayland.cpp +++ b/intern/ghost/intern/GHOST_WindowWayland.cpp @@ -34,7 +34,7 @@ static constexpr size_t base_dpi = 96; struct window_t { GHOST_WindowWayland *w; wl_surface *surface; - // outputs on which the window is currently shown on + /* Outputs on which the window is currently shown on. */ std::unordered_set<const output_t *> outputs; uint16_t dpi = 0; int scale = 1; @@ -154,8 +154,8 @@ static bool update_scale(GHOST_WindowWayland *window) if (scale > 0 && window->scale() != scale) { window->scale() = scale; - // using the real DPI will cause wrong scaling of the UI - // use a multiplier for the default DPI as workaround + /* Using the real DPI will cause wrong scaling of the UI + * use a multiplier for the default DPI as workaround. */ window->dpi() = scale * base_dpi; wl_surface_set_buffer_scale(window->surface(), scale); return true; |