view gtk/browser.cpp @ 864:ca01c7d95b80

Added some sanity checks for a couple of problem functions and default optimized container column width to 16 for image columns. Added a second icon column to the test program to test image column optimization. The optization needs to be looked further into to see why calculated width of image columns is 0.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Sun, 03 Apr 2011 17:24:23 +0000
parents fb59f9eeeecd
children
line wrap: on
line source

#ifdef HAVE_CONFIG_H
#  include <config.h>
#endif

#define MOZILLA_INTERNAL_API

#include <gtk/gtk.h>
#include <gtkmozembed.h>
#include <gtkmozembed_internal.h>
#include "nsIDOMMouseEvent.h"

/**
 * Takes a pointer to a mouse event and returns the mouse
 *  button number or -1 on error.
 */
extern "C" gint mozilla_get_mouse_event_button(gpointer event)
{
   gint  button = 0;
   glong x,y;

   g_return_val_if_fail (event, -1);

   /* the following lines were found in the Galeon source */
   nsIDOMMouseEvent *aMouseEvent = (nsIDOMMouseEvent *) event;
   aMouseEvent->GetButton ((PRUint16 *) &button);
   aMouseEvent->GetClientX ((PRInt32 *) &x);
   aMouseEvent->GetClientY ((PRInt32 *) &y);


   /* for some reason we get different numbers on PPC, this fixes
    * that up... -- MattA */
   if (button == 65536)
   {
      button = 1;
   }
   else if (button == 131072)
   {
      button = 2;
   }

   return button;
}
extern "C" gint mozilla_get_mouse_location( gpointer event, glong *x, glong *y)
{
   g_return_val_if_fail (event, -1);

   /* the following lines were found in the Galeon source */
   nsIDOMMouseEvent *aMouseEvent = (nsIDOMMouseEvent *) event;
   aMouseEvent->GetClientX ((PRInt32 *) x);
   aMouseEvent->GetClientY ((PRInt32 *) y);
   return 0;
}