pingus-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pingus-CVS] [pingus] 2 new revisions pushed by address@hidden on 2014-0


From: pingus
Subject: [Pingus-CVS] [pingus] 2 new revisions pushed by address@hidden on 2014-07-27 00:01 GMT
Date: Sun, 27 Jul 2014 00:02:05 +0000

feature/sdl2 moved from 548ed417f31d to 7483a831509e

2 new revisions:

Revision: dbe540ef7684
Author:   Ingo Ruhnke <address@hidden>
Date:     Sat Jul 26 23:54:13 2014 UTC
Log:      Fixed crashing due to scancode/keycode mixup
http://code.google.com/p/pingus/source/detail?r=dbe540ef7684

Revision: 7483a831509e
Author:   Ingo Ruhnke <address@hidden>
Date:     Sat Jul 26 23:58:44 2014 UTC
Log: Enable BLEND render mode, fixed incorrect color on rect and line drawi...
http://code.google.com/p/pingus/source/detail?r=7483a831509e

==============================================================================
Revision: dbe540ef7684
Author:   Ingo Ruhnke <address@hidden>
Date:     Sat Jul 26 23:54:13 2014 UTC
Log:      Fixed crashing due to scancode/keycode mixup

http://code.google.com/p/pingus/source/detail?r=dbe540ef7684

Modified:
 /src/editor/viewport.cpp
 /src/pingus/global_event.cpp

=======================================
--- /src/editor/viewport.cpp    Sat Jul 26 19:58:06 2014 UTC
+++ /src/editor/viewport.cpp    Sat Jul 26 23:54:13 2014 UTC
@@ -112,7 +112,7 @@
 void
 Viewport::on_primary_button_press(int x_, int y_)
 {
-  const Uint8* keystate = SDL_GetKeyboardState(nullptr);
+  SDL_Keymod key_modifier = SDL_GetModState();

   mouse_world_pos  = screen2world(x_, y_);
   mouse_screen_pos = Vector2i(x_, y_);
@@ -126,7 +126,7 @@
       if (selection.find(obj) == selection.end())
       {
// if the clicked on object isn't selected, select it and deselect the rest
-        if (keystate[SDLK_LSHIFT] || keystate[SDLK_RSHIFT])
+        if (key_modifier & KMOD_SHIFT)
         {
           selection.insert(obj);
           selection_changed(selection);
@@ -140,7 +140,7 @@
       }
       else
       {
-        if (keystate[SDLK_LSHIFT] || keystate[SDLK_RSHIFT])
+        if (key_modifier & KMOD_SHIFT)
         {
           // if object is already selected and shift is pressed remove
           // it from the selection
@@ -164,7 +164,7 @@
       highlighted_area.left = highlighted_area.right  = mouse_world_pos.x;
       highlighted_area.top  = highlighted_area.bottom = mouse_world_pos.y;

-      if (!keystate[SDLK_LSHIFT] && !keystate[SDLK_RSHIFT])
+      if (!(key_modifier & KMOD_LSHIFT) && !(key_modifier & KMOD_RSHIFT))
       {
         clear_selection();
         selection_changed(selection);
=======================================
--- /src/pingus/global_event.cpp        Sat Jul 26 19:58:06 2014 UTC
+++ /src/pingus/global_event.cpp        Sat Jul 26 23:54:13 2014 UTC
@@ -33,8 +33,6 @@
 void
 GlobalEvent::on_button_press(const SDL_KeyboardEvent& event)
 {
-  const Uint8* keystate = SDL_GetKeyboardState(nullptr);
-
   switch (event.keysym.sym)
   {
     case SDLK_F10:
@@ -42,7 +40,7 @@
       break;

     case SDLK_RETURN:
-      if (keystate[SDLK_LALT] || keystate[SDLK_RALT])
+      if (event.keysym.mod & KMOD_ALT)
       {
         config_manager.set_fullscreen(!config_manager.get_fullscreen());
       }
@@ -51,7 +49,7 @@
case SDLK_TAB: // unlock mouse grab if Alt-Tab is pressed to allow the user to change windows
       if (config_manager.get_mouse_grab())
       {
-        if (keystate[SDLK_LALT] || keystate[SDLK_RALT])
+        if (event.keysym.mod & KMOD_ALT)
         {
           // FIXME: should suspend the grab till the user clicks the
           // window again, not completely disable it
@@ -70,7 +68,7 @@
       break;

     case SDLK_o:
-      if (keystate[SDLK_LCTRL] || keystate[SDLK_RCTRL])
+      if (event.keysym.mod & KMOD_CTRL)
       {
if (!dynamic_cast<OptionMenu*>(ScreenManager::instance()->get_current_screen().get())) ScreenManager::instance()->push_screen(std::make_shared<OptionMenu>());
@@ -110,7 +108,7 @@
       break;

     case SDLK_m:
-      if (keystate[SDLK_LCTRL] || keystate[SDLK_RCTRL])
+      if (event.keysym.mod & KMOD_CTRL)
       {
         log_info("Developer Mode: " << globals::developer_mode);
         globals::developer_mode = !globals::developer_mode;
@@ -118,7 +116,7 @@
       break;

     case SDLK_g:
-      if (keystate[SDLK_LCTRL] || keystate[SDLK_RCTRL])
+      if (event.keysym.mod & KMOD_CTRL)
       {
         config_manager.set_mouse_grab(!config_manager.get_mouse_grab());
       }

==============================================================================
Revision: 7483a831509e
Author:   Ingo Ruhnke <address@hidden>
Date:     Sat Jul 26 23:58:44 2014 UTC
Log: Enable BLEND render mode, fixed incorrect color on rect and line drawing

http://code.google.com/p/pingus/source/detail?r=7483a831509e

Modified:
 /src/engine/display/sdl_framebuffer.cpp

=======================================
--- /src/engine/display/sdl_framebuffer.cpp     Sat Jul 26 21:47:15 2014 UTC
+++ /src/engine/display/sdl_framebuffer.cpp     Sat Jul 26 23:58:44 2014 UTC
@@ -172,7 +172,10 @@
   dstrect.w = surface.get_width();
   dstrect.h = surface.get_height();

+  // FIXME: push render state
+  SDL_SetRenderDrawBlendMode(m_renderer, SDL_BLENDMODE_BLEND);
   SDL_RenderCopy(m_renderer, texture, nullptr, &dstrect);
+  // FIXME: pop render state
 }

 void
@@ -193,17 +196,20 @@
   sdlsrcrect.w = static_cast<Uint16>(srcrect.get_width());
   sdlsrcrect.h = static_cast<Uint16>(srcrect.get_height());

+  // FIXME: push render state
+  SDL_SetRenderDrawBlendMode(m_renderer, SDL_BLENDMODE_BLEND);
   SDL_RenderCopy(m_renderer, texture, &sdlsrcrect, &dstrect);
+  // FIXME: pop render state
 }

 void
SDLFramebuffer::draw_line(const Vector2i& pos1, const Vector2i& pos2, const Color& color)
 {
-  SDL_SetRenderDrawColor(m_renderer,
-                         color.r, color.b, color.g, color.a);
-  SDL_RenderDrawLine(m_renderer,
-                     pos1.x, pos1.y,
-                     pos2.x, pos2.y);
+  // FIXME: push render state
+  SDL_SetRenderDrawBlendMode(m_renderer, SDL_BLENDMODE_BLEND);
+  SDL_SetRenderDrawColor(m_renderer, color.r, color.g, color.b, color.a);
+  SDL_RenderDrawLine(m_renderer, pos1.x, pos1.y, pos2.x, pos2.y);
+  // FIXME: pop render state
 }

 void
@@ -218,8 +224,11 @@
   sdl_rect.w = rect.get_width();
   sdl_rect.h = rect.get_height();

-  SDL_SetRenderDrawColor(m_renderer, color.r, color.b, color.g, color.a);
+  // FIXME: push render state
+  SDL_SetRenderDrawBlendMode(m_renderer, SDL_BLENDMODE_BLEND);
+  SDL_SetRenderDrawColor(m_renderer, color.r, color.g, color.b, color.a);
   SDL_RenderDrawRect(m_renderer, &sdl_rect);
+  // FIXME: pop render state
 }

 void
@@ -234,7 +243,8 @@
   sdl_rect.w = rect.get_width();
   sdl_rect.h = rect.get_height();

-  SDL_SetRenderDrawColor(m_renderer, color.r, color.b, color.g, color.a);
+  SDL_SetRenderDrawBlendMode(m_renderer, SDL_BLENDMODE_BLEND);
+  SDL_SetRenderDrawColor(m_renderer, color.r, color.g, color.b, color.a);
   SDL_RenderFillRect(m_renderer, &sdl_rect);
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]