Update space dispatch:

- drawXXXspace, changeXXXspace, and winqreadXXXspace now receive the area
     and spacedata as explicit arguments, allowing them to access private
     data w/o going through globals.
 - pass the new BWinEvent through to the winqreadXXXspace, allowing future
     access to extended event data.

Removed direct calls to winqreadXXXspace to simulate user actions, replaced
by calls to action functions in edit.c or the appropriate handler.
This commit is contained in:
2003-03-24 01:46:05 +00:00
parent a6a50cc27f
commit 1f3f52f5e4
39 changed files with 239 additions and 182 deletions

View File

@@ -33,10 +33,11 @@
#ifndef BIF_DRAWIMAGE_H #ifndef BIF_DRAWIMAGE_H
#define BIF_DRAWIMAGE_H #define BIF_DRAWIMAGE_H
struct ScrArea;
struct SpaceImage; struct SpaceImage;
void calc_image_view(struct SpaceImage *sima, char mode); void calc_image_view(struct SpaceImage *sima, char mode);
void drawimagespace(void); void drawimagespace(struct ScrArea *sa, void *spacedata);
void draw_tfaces(void); void draw_tfaces(void);
void image_changed(struct SpaceImage *sima, int dotile); void image_changed(struct SpaceImage *sima, int dotile);
void image_home(void); void image_home(void);

View File

@@ -33,8 +33,10 @@
#ifndef BIF_DRAWSEQ_H #ifndef BIF_DRAWSEQ_H
#define BIF_DRAWSEQ_H #define BIF_DRAWSEQ_H
struct ScrArea;
struct Sequence; struct Sequence;
void drawseqspace(void);
void drawseqspace(struct ScrArea *sa, void *spacedata);
void drawseq(struct Sequence *seq); void drawseq(struct Sequence *seq);
void set_special_seq_update(int val); void set_special_seq_update(int val);

View File

@@ -53,12 +53,9 @@ void scrarea_do_headchange (struct ScrArea *sa);
extern void space_set_commmandline_options(void); extern void space_set_commmandline_options(void);
extern void allqueue(unsigned short event, short val); extern void allqueue(unsigned short event, short val);
extern void allspace(unsigned short event, short val); extern void allspace(unsigned short event, short val);
extern void changebutspace(void);
extern void changeview2d(void);
extern void changeview3d(void);
extern void copy_view3d_lock(short val); extern void copy_view3d_lock(short val);
extern void drawemptyspace(void); extern void drawemptyspace(struct ScrArea *sa, void *spacedata);
extern void drawinfospace(void); extern void drawinfospace(struct ScrArea *sa, void *spacedata);
extern void duplicatespacelist(struct ScrArea *area, struct ListBase *lb1, struct ListBase *lb2); extern void duplicatespacelist(struct ScrArea *area, struct ListBase *lb1, struct ListBase *lb2);
extern void extern_set_butspace(int fkey); extern void extern_set_butspace(int fkey);
extern void force_draw(void); extern void force_draw(void);
@@ -77,14 +74,14 @@ extern void initipo(struct ScrArea *sa);
extern void initview3d(struct ScrArea *sa); extern void initview3d(struct ScrArea *sa);
extern void newspace(struct ScrArea *sa, int type); extern void newspace(struct ScrArea *sa, int type);
extern void set_rects_butspace(struct SpaceButs *buts); extern void set_rects_butspace(struct SpaceButs *buts);
extern void winqreadview3dspace(unsigned short event, short val, char ascii); extern void winqreadview3dspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
extern void winqreadbutspace(unsigned short event, short val, char ascii); extern void winqreadbutspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
extern void winqreadimagespace(unsigned short event, short val, char ascii); extern void winqreadimagespace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
extern void winqreadinfospace(unsigned short event, short val, char ascii); extern void winqreadinfospace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
extern void winqreadipospace(unsigned short event, short val, char ascii); extern void winqreadipospace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
extern void winqreadoopsspace(unsigned short event, short val, char ascii); extern void winqreadoopsspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
extern void winqreadnlaspace(unsigned short event, short val, char ascii); extern void winqreadnlaspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
extern void winqreadseqspace(unsigned short event, short val, char ascii); extern void winqreadseqspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
extern void test_butspace(void); extern void test_butspace(void);
extern void start_game(void); extern void start_game(void);

View File

@@ -31,12 +31,13 @@
*/ */
struct ScrArea; struct ScrArea;
struct BWinEvent;
typedef struct _SpaceType SpaceType; typedef struct _SpaceType SpaceType;
typedef void (*SpaceDrawFP) (void); typedef void (*SpaceDrawFP) (struct ScrArea *sa, void *spacedata);
typedef void (*SpaceChangeFP) (void); typedef void (*SpaceChangeFP) (struct ScrArea *sa, void *spacedata);
typedef void (*SpaceHandleFP) (unsigned short evt, short val, char ascii); typedef void (*SpaceHandleFP) (struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
/***/ /***/

View File

@@ -33,6 +33,7 @@
#ifndef BSE_DRAWIMASEL_H #ifndef BSE_DRAWIMASEL_H
#define BSE_DRAWIMASEL_H #define BSE_DRAWIMASEL_H
struct ScrArea;
struct SpaceImaSel; struct SpaceImaSel;
void viewgate(short sx, short sy, short ex, short ey); void viewgate(short sx, short sy, short ex, short ey);
@@ -45,7 +46,7 @@ void move_imadir_sli(struct SpaceImaSel *simasel);
void move_imafile_sli(struct SpaceImaSel *simasel); void move_imafile_sli(struct SpaceImaSel *simasel);
void ima_select_all(struct SpaceImaSel *simasel); void ima_select_all(struct SpaceImaSel *simasel);
void pibplay(struct SpaceImaSel *simasel); void pibplay(struct SpaceImaSel *simasel);
void drawimaselspace(void); void drawimaselspace(struct ScrArea *sa, void *spacedata);
/* void calc_hilite(SpaceImaSel *simasel); */ /* void calc_hilite(SpaceImaSel *simasel); */
/* void ima_select_all(SpaceImaSel *simasel); */ /* void ima_select_all(SpaceImaSel *simasel); */

View File

@@ -41,6 +41,7 @@
#define SELECT_SUBTRACT 4 #define SELECT_SUBTRACT 4
#define SELECT_INVERT 16 #define SELECT_INVERT 16
struct ScrArea;
struct EditIpo; struct EditIpo;
struct View2D; struct View2D;
struct rctf; struct rctf;
@@ -52,12 +53,13 @@ void areamouseco_to_ipoco (struct View2D *v2d, short *mval, float *x, float *y);
void ipoco_to_areaco (struct View2D *v2d, float *vec, short *mval); void ipoco_to_areaco (struct View2D *v2d, float *vec, short *mval);
void ipoco_to_areaco_noclip (struct View2D *v2d, float *vec, short *mval); void ipoco_to_areaco_noclip (struct View2D *v2d, float *vec, short *mval);
void view2d_zoom (struct View2D *v2d, float factor, int winx, int winy);
void test_view2d (struct View2D *v2d, int winx, int winy); void test_view2d (struct View2D *v2d, int winx, int winy);
void calc_scrollrcts (struct View2D *v2d, int winx, int winy); void calc_scrollrcts (struct View2D *v2d, int winx, int winy);
int in_ipo_buttons(void); int in_ipo_buttons(void);
void drawscroll(int disptype); void drawscroll(int disptype);
void drawipospace(void); void drawipospace(struct ScrArea *sa, void *spacedata);
void center_currframe(void); void center_currframe(void);
void scroll_ipobuts(void); void scroll_ipobuts(void);

View File

@@ -33,7 +33,9 @@
#ifndef BSE_DRAWNLA_H #ifndef BSE_DRAWNLA_H
#define BSE_DRAWNLA_H #define BSE_DRAWNLA_H
void drawnlaspace(void); struct ScrArea;
void drawnlaspace(struct ScrArea *sa, void *spacedata);
#endif /* BSE_DRAWNLA */ #endif /* BSE_DRAWNLA */

View File

@@ -33,6 +33,7 @@
#ifndef BSE_DRAWOOPS_H #ifndef BSE_DRAWOOPS_H
#define BSE_DRAWOOPS_H #define BSE_DRAWOOPS_H
struct ScrArea;
struct Oops; struct Oops;
struct uiBlock; struct uiBlock;
@@ -44,7 +45,7 @@ void mysbox(float x1, float y1, float x2, float y2);
unsigned int give_oops_color(short type, short sel, unsigned int *border); unsigned int give_oops_color(short type, short sel, unsigned int *border);
void calc_oopstext(char *str, float *v1); void calc_oopstext(char *str, float *v1);
void draw_oops(struct Oops *oops, struct uiBlock *block); void draw_oops(struct Oops *oops, struct uiBlock *block);
void drawoopsspace(void); void drawoopsspace(struct ScrArea *sa, void *spacedata);
#endif /* BSE_DRAWOOPS */ #endif /* BSE_DRAWOOPS */

View File

@@ -36,6 +36,7 @@
struct Object; struct Object;
struct BGpic; struct BGpic;
struct rcti; struct rcti;
struct ScrArea;
void setalpha_bgpic(struct BGpic *bgpic); void setalpha_bgpic(struct BGpic *bgpic);
void default_gl_light(void); void default_gl_light(void);
@@ -44,7 +45,7 @@ void two_sided(int val);
void circf(float x, float y, float rad); void circf(float x, float y, float rad);
void circ(float x, float y, float rad); void circ(float x, float y, float rad);
void backdrawview3d(int test); void backdrawview3d(int test);
void drawview3dspace(void); void drawview3dspace(struct ScrArea *sa, void *spacedata);
void drawview3d_render(struct View3D *v3d); void drawview3d_render(struct View3D *v3d);
int update_time(void); int update_time(void);
void calc_viewborder(struct View3D *v3d, struct rcti *viewborder_r); void calc_viewborder(struct View3D *v3d, struct rcti *viewborder_r);

View File

@@ -40,6 +40,10 @@ int get_border(struct rcti *rect, short col);
void count_object(struct Object *ob, int sel); void count_object(struct Object *ob, int sel);
void countall(void); void countall(void);
void snapmenu(void); void snapmenu(void);
void mergemenu(void);
void delete_context_selected(void);
void duplicate_context_selected(void);
void toggle_shading(void);
#endif /* BSE_EDIT_H */ #endif /* BSE_EDIT_H */

View File

@@ -48,7 +48,7 @@ void set_action_key (struct bAction *act, struct bPoseChannel *chan, int adrcode
struct bAction *add_empty_action(void); struct bAction *add_empty_action(void);
void deselect_actionchannel_keys (struct bAction *act, int test); void deselect_actionchannel_keys (struct bAction *act, int test);
void deselect_actionchannels (struct bAction *act, int test); void deselect_actionchannels (struct bAction *act, int test);
void winqreadactionspace(unsigned short event, short val, char ascii); void winqreadactionspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
void remake_action_ipos(struct bAction *act); void remake_action_ipos(struct bAction *act);
void select_actionchannel_by_name (struct bAction *act, char *name, int select); void select_actionchannel_by_name (struct bAction *act, char *name, int select);
struct bAction *bake_action_with_client (struct bAction *act, struct Object *arm, float tolerance); struct bAction *bake_action_with_client (struct bAction *act, struct Object *arm, float tolerance);

View File

@@ -81,6 +81,7 @@ void test_editipo(void);
void get_status_editipo(void); void get_status_editipo(void);
void update_editipo_flags(void); void update_editipo_flags(void);
void set_editflag_editipo(void); void set_editflag_editipo(void);
void ipo_toggle_showkey(void);
void swap_selectall_editipo(void); void swap_selectall_editipo(void);
void swap_visible_editipo(void); void swap_visible_editipo(void);
void deselectall_editipo(void); void deselectall_editipo(void);

View File

@@ -37,6 +37,7 @@
struct SpaceFile; struct SpaceFile;
struct direntry; struct direntry;
struct ID; struct ID;
struct ScrArea;
void clear_global_filesel_vars(void); void clear_global_filesel_vars(void);
void filesel_statistics(struct SpaceFile *sfile, int *totfile, int *selfile, float *totlen, float *sellen); void filesel_statistics(struct SpaceFile *sfile, int *totfile, int *selfile, float *totlen, float *sellen);
@@ -47,13 +48,13 @@ void read_dir(struct SpaceFile *sfile);
void freefilelist(struct SpaceFile *sfile); void freefilelist(struct SpaceFile *sfile);
void parent(struct SpaceFile *sfile); void parent(struct SpaceFile *sfile);
void swapselect_file(struct SpaceFile *sfile); void swapselect_file(struct SpaceFile *sfile);
void drawfilespace(void); void drawfilespace(struct ScrArea *sa, void *spacedata);
void activate_fileselect(int type, char *title, char *file, void (*func)(char *)); void activate_fileselect(int type, char *title, char *file, void (*func)(char *));
void activate_imageselect(int type, char *title, char *file, void (*func)(char *)); void activate_imageselect(int type, char *title, char *file, void (*func)(char *));
void activate_databrowse(struct ID *id, int idcode, int fromcode, int retval, short *menup, void (*func)(unsigned short)); void activate_databrowse(struct ID *id, int idcode, int fromcode, int retval, short *menup, void (*func)(unsigned short));
void filesel_prevspace(void); void filesel_prevspace(void);
void free_filesel_spec(char *dir); void free_filesel_spec(char *dir);
void winqreadfilespace(unsigned short event, short val, char ascii); void winqreadfilespace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
void main_to_filelist(struct SpaceFile *sfile); void main_to_filelist(struct SpaceFile *sfile);
#endif #endif

View File

@@ -6981,7 +6981,7 @@ static void do_constraintbuts(unsigned short event)
/* ***************************<>******************************** */ /* ***************************<>******************************** */
void drawbutspace(void) void drawbutspace(ScrArea *sa, void *spacedata)
{ {
SpaceButs *sbuts= curarea->spacedata.first; SpaceButs *sbuts= curarea->spacedata.first;
View2D *v2d= &sbuts->v2d; View2D *v2d= &sbuts->v2d;

View File

@@ -84,7 +84,7 @@
#include "blendef.h" #include "blendef.h"
/* local functions ----------------------------------------------------- */ /* local functions ----------------------------------------------------- */
void drawactionspace(void); void drawactionspace(ScrArea *sa, void *spacedata);
static void draw_channel_names(void); static void draw_channel_names(void);
static void draw_channel_strips(SpaceAction *saction); static void draw_channel_strips(SpaceAction *saction);
int count_action_levels(bAction *act); int count_action_levels(bAction *act);
@@ -345,7 +345,7 @@ static void draw_channel_strips(SpaceAction *saction)
glaEnd2DDraw(di); glaEnd2DDraw(di);
} }
void drawactionspace(void) void drawactionspace(ScrArea *sa, void *spacedata)
{ {
short ofsx = 0, ofsy = 0; short ofsx = 0, ofsy = 0;

View File

@@ -410,7 +410,7 @@ static unsigned int *get_part_from_ibuf(ImBuf *ibuf, short startx, short starty,
return rectmain; return rectmain;
} }
void drawimagespace(void) void drawimagespace(ScrArea *sa, void *spacedata)
{ {
ImBuf *ibuf= NULL; ImBuf *ibuf= NULL;
unsigned int *rect; unsigned int *rect;

View File

@@ -853,7 +853,7 @@ void pibplay(SpaceImaSel *simasel)
/* ************** hoofdtekenfunktie ************** */ /* ************** hoofdtekenfunktie ************** */
void drawimaselspace() /* hoofdtekenfunktie */ void drawimaselspace(ScrArea *sa, void *spacedata) /* hoofdtekenfunktie */
{ {
SpaceImaSel *simasel; SpaceImaSel *simasel;
simasel= curarea->spacedata.first; simasel= curarea->spacedata.first;

View File

@@ -358,6 +358,16 @@ int in_ipo_buttons(void)
} }
void view2d_zoom(View2D *v2d, float factor, int winx, int winy) {
float dx= factor*(v2d->cur.xmax-v2d->cur.xmin);
float dy= factor*(v2d->cur.ymax-v2d->cur.ymin);
v2d->cur.xmin+= dx;
v2d->cur.xmax-= dx;
v2d->cur.ymin+= dy;
v2d->cur.ymax-= dy;
test_view2d(v2d, winx, winy);
}
void test_view2d(View2D *v2d, int winx, int winy) void test_view2d(View2D *v2d, int winx, int winy)
{ {
/* cur mag niet groter dan max, kleiner dan min of buiten tot vallen */ /* cur mag niet groter dan max, kleiner dan min of buiten tot vallen */
@@ -1316,7 +1326,7 @@ static void draw_key(SpaceIpo *sipo, int visible)
setlinestyle(0); setlinestyle(0);
} }
void drawipospace(void) void drawipospace(ScrArea *sa, void *spacedata)
{ {
SpaceIpo *sipo= curarea->spacedata.first; SpaceIpo *sipo= curarea->spacedata.first;
View2D *v2d= &sipo->v2d; View2D *v2d= &sipo->v2d;

View File

@@ -427,7 +427,7 @@ static void draw_nlastrips(SpaceNla *snla)
} }
void drawnlaspace(void) void drawnlaspace(ScrArea *sa, void *spacedata)
{ {
short ofsx = 0, ofsy = 0; short ofsx = 0, ofsy = 0;

View File

@@ -367,7 +367,7 @@ void draw_oops(Oops *oops, uiBlock *block)
} }
} }
void drawoopsspace() void drawoopsspace(ScrArea *sa, void *spacedata)
{ {
uiBlock *block; uiBlock *block;
Oops *oops; Oops *oops;

View File

@@ -538,7 +538,7 @@ static void draw_extra_seqinfo(void)
} }
} }
void drawseqspace(void) void drawseqspace(ScrArea *sa, void *spacedata)
{ {
SpaceSeq *sseq; SpaceSeq *sseq;
Editing *ed; Editing *ed;

View File

@@ -60,7 +60,7 @@
#include "BSE_drawipo.h" #include "BSE_drawipo.h"
/* local */ /* local */
void drawsoundspace(void); void drawsoundspace(ScrArea *sa, void *spacedata);
/*implementation */ /*implementation */
static void draw_wave(int startsamp, int endsamp, short sampdx, short offset, short *sp, float sampfac, float y) static void draw_wave(int startsamp, int endsamp, short sampdx, short offset, short *sp, float sampfac, float y)
@@ -163,7 +163,7 @@ static void draw_cfra_sound(void)
} }
void drawsoundspace(void) void drawsoundspace(ScrArea *sa, void *spacedata)
{ {
short ofsx, ofsy; short ofsx, ofsy;

View File

@@ -84,8 +84,8 @@
#define TEXTXLOC 38 #define TEXTXLOC 38
/* locals */ /* locals */
void drawtextspace(void); void drawtextspace(ScrArea *sa, void *spacedata);
void winqreadtextspace(unsigned short event, short val, char ascii); void winqreadtextspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
static void *last_txt_find_string= NULL; static void *last_txt_find_string= NULL;
@@ -532,7 +532,7 @@ static void do_selection(SpaceText *st, int selecting)
txt_undo_add_toop(st->text, UNDO_STO, sell, selc, linep2, charp2); txt_undo_add_toop(st->text, UNDO_STO, sell, selc, linep2, charp2);
} }
void drawtextspace(void) void drawtextspace(ScrArea *sa, void *spacedata)
{ {
SpaceText *st= curarea->spacedata.first; SpaceText *st= curarea->spacedata.first;
Text *text; Text *text;
@@ -742,8 +742,11 @@ static int jumptoline_interactive(SpaceText *st) {
} }
} }
void winqreadtextspace(unsigned short event, short val, char ascii) void winqreadtextspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
{ {
unsigned short event= evt->event;
short val= evt->val;
char ascii= evt->ascii;
SpaceText *st= curarea->spacedata.first; SpaceText *st= curarea->spacedata.first;
Text *text= st->text; Text *text= st->text;
char *py_filename; char *py_filename;

View File

@@ -784,7 +784,7 @@ static void draw_view_icon(void)
glDisable(GL_BLEND); glDisable(GL_BLEND);
} }
void drawview3dspace(void) void drawview3dspace(ScrArea *sa, void *spacedata)
{ {
Base *base; Base *base;
Object *ob; Object *ob;
@@ -996,6 +996,7 @@ void drawview3dspace(void)
*/ */
void drawview3d_render(struct View3D *v3d) void drawview3d_render(struct View3D *v3d)
{ {
extern void mywindow_build_and_set_renderwin(void);
extern short v3d_windowmode; extern short v3d_windowmode;
Base *base; Base *base;
Object *ob; Object *ob;

View File

@@ -86,6 +86,8 @@
#include "BSE_drawview.h" #include "BSE_drawview.h"
#include "BDR_editobject.h" #include "BDR_editobject.h"
#include "BDR_editmball.h"
#include "BDR_editcurve.h"
/* old stuff */ /* old stuff */
#include "blendertimer.h" #include "blendertimer.h"
@@ -1171,7 +1173,7 @@ void snapmenu()
} }
void mergemenu() void mergemenu(void)
{ {
extern float doublimit; extern float doublimit;
short event; short event;
@@ -1193,3 +1195,45 @@ void mergemenu()
} }
} }
void delete_context_selected(void) {
if(G.obedit) {
if(G.obedit->type==OB_MESH) delete_mesh();
else if ELEM(G.obedit->type, OB_CURVE, OB_SURF) delNurb();
else if(G.obedit->type==OB_MBALL) delete_mball();
else if (G.obedit->type==OB_ARMATURE) delete_armature();
}
else delete_obj(0);
}
void duplicate_context_selected(void) {
if(G.obedit) {
if(G.obedit->type==OB_MESH) adduplicate_mesh();
else if(G.obedit->type==OB_ARMATURE) adduplicate_armature();
else if(G.obedit->type==OB_MBALL) adduplicate_mball();
else if ELEM(G.obedit->type, OB_CURVE, OB_SURF) adduplicate_nurb();
}
else if(G.obpose){
error ("Duplicate not possible in posemode.");
}
else adduplicate(0);
}
void toggle_shading(void) {
if(G.qual & LR_CTRLKEY) {
reshadeall_displist();
G.vd->drawtype= OB_SHADED;
}
else if(G.qual & LR_SHIFTKEY) {
if(G.vd->drawtype== OB_SHADED) G.vd->drawtype= OB_WIRE;
else G.vd->drawtype= OB_SHADED;
}
else if(G.qual & LR_ALTKEY) {
if(G.vd->drawtype== OB_TEXTURE) G.vd->drawtype= OB_SOLID;
else G.vd->drawtype= OB_TEXTURE;
}
else {
if(G.vd->drawtype==OB_SOLID || G.vd->drawtype==OB_SHADED) G.vd->drawtype= OB_WIRE;
else G.vd->drawtype= OB_SOLID;
}
}

View File

@@ -1650,8 +1650,11 @@ static void borderselect_function(void (*select_func)(bAction *act,
} }
void winqreadactionspace(unsigned short event, short val, char ascii) void winqreadactionspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
{ {
unsigned short event= evt->event;
short val= evt->val;
char ascii= evt->ascii;
SpaceAction *saction; SpaceAction *saction;
bAction *act; bAction *act;
int doredraw= 0; int doredraw= 0;

View File

@@ -61,6 +61,7 @@
#include "BIF_screen.h" #include "BIF_screen.h"
#include "BIF_interface.h" #include "BIF_interface.h"
#include "BIF_imasel.h" #include "BIF_imasel.h"
#include "BIF_mywindow.h"
#include "BSE_filesel.h" #include "BSE_filesel.h"
#include "BSE_drawimasel.h" #include "BSE_drawimasel.h"
@@ -83,8 +84,11 @@ static void draw_icon_imasel(void)
scrarea_queue_winredraw(curarea); scrarea_queue_winredraw(curarea);
} }
void winqreadimaselspace(unsigned short event, short val, char ascii) void winqreadimaselspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
{ {
unsigned short event= evt->event;
short val= evt->val;
char ascii= evt->ascii;
SpaceImaSel *simasel; SpaceImaSel *simasel;
short mval[2]; short mval[2];

View File

@@ -1478,6 +1478,16 @@ void set_editflag_editipo()
scrarea_queue_winredraw(curarea); scrarea_queue_winredraw(curarea);
} }
void ipo_toggle_showkey(void) {
if(G.sipo->showkey) {
G.sipo->showkey= 0;
swap_selectall_editipo(); /* sel all */
}
else G.sipo->showkey= 1;
free_ipokey(&G.sipo->ipokey);
if(G.sipo->ipo) G.sipo->ipo->showkey= G.sipo->showkey;
}
void swap_selectall_editipo() void swap_selectall_editipo()
{ {
Object *ob; Object *ob;

View File

@@ -111,8 +111,11 @@ extern int nla_filter (Base* base, int flags); /* From drawnla.c */
/* ******************** SPACE: NLA ********************** */ /* ******************** SPACE: NLA ********************** */
void winqreadnlaspace(unsigned short event, short val, char ascii) void winqreadnlaspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
{ {
unsigned short event= evt->event;
short val= evt->val;
char ascii= evt->ascii;
SpaceNla *snla = curarea->spacedata.first; SpaceNla *snla = curarea->spacedata.first;
int doredraw= 0; int doredraw= 0;
short mval[2]; short mval[2];

View File

@@ -887,7 +887,7 @@ void screenmain(void)
flush_extqd_events(); flush_extqd_events();
if (nafterqitems && !qtest()) { if (nafterqitems && !qtest()) {
append_afterqueue(); append_afterqueue();
event= 0; event= val= ascii= 0;
} else { } else {
event= screen_qread(&val, &ascii); event= screen_qread(&val, &ascii);
} }

View File

@@ -556,7 +556,7 @@ static void add_image_strips(char *name)
/* is voor restore windowmatrices */ /* is voor restore windowmatrices */
areawinset(curarea->win); areawinset(curarea->win);
drawseqspace(); drawseqspace(curarea, curarea->spacedata.first);
/* sfile zoeken */ /* sfile zoeken */
sfile= scrarea_find_space_of_type(curarea, SPACE_FILE); sfile= scrarea_find_space_of_type(curarea, SPACE_FILE);
@@ -616,7 +616,7 @@ static void add_movie_strip(char *name)
/* is voor restore windowmatrices */ /* is voor restore windowmatrices */
areawinset(curarea->win); areawinset(curarea->win);
drawseqspace(); drawseqspace(curarea, curarea->spacedata.first);
/* sfile zoeken */ /* sfile zoeken */
sfile= scrarea_find_space_of_type(curarea, SPACE_FILE); sfile= scrarea_find_space_of_type(curarea, SPACE_FILE);

View File

@@ -91,14 +91,17 @@ static SND_AudioDeviceInterfaceHandle ghAudioDeviceInterface;
bSound *sound_find_sound(char *id_name); bSound *sound_find_sound(char *id_name);
void sound_read_wav_data(bSound * sound, PackedFile * pf); void sound_read_wav_data(bSound * sound, PackedFile * pf);
void sound_stop_sound(void *object, bSound *sound); void sound_stop_sound(void *object, bSound *sound);
void winqreadsoundspace(unsigned short event, short val, char ascii); void winqreadsoundspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
/* void sound_stop_all_sounds(void); already in BIF_editsound.h */ /* void sound_stop_all_sounds(void); already in BIF_editsound.h */
/* Right. Now for some implementation: */ /* Right. Now for some implementation: */
void winqreadsoundspace(unsigned short event, short val, char ascii) void winqreadsoundspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
{ {
unsigned short event= evt->event;
short val= evt->val;
char ascii= evt->ascii;
float dx, dy; float dx, dy;
int doredraw= 0, cfra, first = 0; int doredraw= 0, cfra, first = 0;
short mval[2]; short mval[2];
@@ -430,8 +433,9 @@ void sound_read_wav_data(bSound* sound, PackedFile* pf)
/* ugly, but it works (for now) */ /* ugly, but it works (for now) */
int sound_get_filetype_from_header(bSound* sound, PackedFile* pf) int sound_get_filetype_from_header(bSound* sound, PackedFile* pf)
{ {
int i, filetype = SAMPLE_INVALID; int filetype = SAMPLE_INVALID;
#if GAMEBLENDER == 1 #if GAMEBLENDER == 1
int i;
char buffer[25]; char buffer[25];
short shortbuf; short shortbuf;

View File

@@ -1049,7 +1049,7 @@ static void draw_filetext(SpaceFile *sfile)
glRecti(textrct.xmax+2, textrct.ymin, textrct.xmax+10, textrct.ymax); glRecti(textrct.xmax+2, textrct.ymin, textrct.xmax+10, textrct.ymax);
} }
void drawfilespace() void drawfilespace(ScrArea *sa, void *spacedata)
{ {
SpaceFile *sfile; SpaceFile *sfile;
uiBlock *block; uiBlock *block;
@@ -1706,8 +1706,11 @@ static void fs_fake_users(SpaceFile *sfile)
scrarea_queue_winredraw(curarea); scrarea_queue_winredraw(curarea);
} }
void winqreadfilespace(unsigned short event, short val, char ascii) void winqreadfilespace(ScrArea *sa, void *spacedata, BWinEvent *evt)
{ {
unsigned short event= evt->event;
short val= evt->val;
char ascii= evt->ascii;
static int acto=0; static int acto=0;
SpaceFile *sfile; SpaceFile *sfile;
int act, do_draw= 0, i, test, ret = 0; int act, do_draw= 0, i, test, ret = 0;

View File

@@ -2462,23 +2462,19 @@ static void do_info_editmenu(void *arg, int event)
case 2: case 2:
/* Circle Select */ /* Circle Select */
/*if(select_area(SPACE_VIEW3D)) { /*if(select_area(SPACE_VIEW3D)) {
winqreadview3dspace(BKEY, 1, 0); // XXX - kill me ;
winqreadview3dspace(BKEY, 1, 0); // XXX - kill me
}*/ }*/
break; break;
case 3: case 3:
/* Duplicate */ /* Duplicate */
if(select_area(SPACE_VIEW3D)) { if(select_area(SPACE_VIEW3D)) {
oldqual = G.qual; duplicate_context_selected();
G.qual = LR_SHIFTKEY;
winqreadview3dspace(DKEY, 1, 0); // XXX - kill me
G.qual = oldqual;
} }
break; break;
case 4: case 4:
/* Delete */ /* Delete */
if(select_area(SPACE_VIEW3D)) { if(select_area(SPACE_VIEW3D)) {
winqreadview3dspace(XKEY, 1, 0); // XXX - kill me delete_context_selected();
} }
break; break;
case 5: case 5:
@@ -2532,19 +2528,13 @@ static void do_info_editmenu(void *arg, int event)
/* ### */ /* ### */
} }
if(select_area(SPACE_VIEW3D)) { if(select_area(SPACE_VIEW3D)) {
oldqual = G.qual; transform('w');
G.qual = LR_SHIFTKEY;
winqreadview3dspace(WKEY, 1, 0); // XXX - kill me
G.qual = oldqual;
} }
break; break;
case 11: case 11:
/* Snap */ /* Snap */
if(select_area(SPACE_VIEW3D)) { if(select_area(SPACE_VIEW3D)) {
oldqual = G.qual; snapmenu();
G.qual = LR_SHIFTKEY;
winqreadview3dspace(SKEY, 1, 0); // XXX - kill me
G.qual = oldqual;
} }
break; break;
} }
@@ -3930,7 +3920,10 @@ void do_ipo_buttons(short event)
case B_IPOSHOWKEY: case B_IPOSHOWKEY:
/* waarde omkeren vanwege winqread */ /* waarde omkeren vanwege winqread */
G.sipo->showkey= 1-G.sipo->showkey; G.sipo->showkey= 1-G.sipo->showkey;
winqreadipospace(KKEY, 1, 0); // XXX - kill me ipo_toggle_showkey();
scrarea_queue_headredraw(curarea);
scrarea_queue_winredraw(curarea);
allqueue(REDRAWVIEW3D, 0);
break; break;
case B_VIEW2DZOOM: case B_VIEW2DZOOM:
viewmovetemp= 0; viewmovetemp= 0;

View File

@@ -180,8 +180,8 @@ static int renderwin_win_to_image_co(RenderWin *rw, int winco[2], int imgco_r[2]
renderwin_get_disprect(rw, disprect); renderwin_get_disprect(rw, disprect);
imgco_r[0]= (winco[0]-disprect[0][0])/rw->zoom; imgco_r[0]= (int) ((winco[0]-disprect[0][0])/rw->zoom);
imgco_r[1]= (winco[1]-disprect[0][1])/rw->zoom; imgco_r[1]= (int) ((winco[1]-disprect[0][1])/rw->zoom);
return (imgco_r[0]>=0 && imgco_r[1]>=0 && imgco_r[0]<R.rectx && imgco_r[1]<R.recty); return (imgco_r[0]>=0 && imgco_r[1]>=0 && imgco_r[0]<R.rectx && imgco_r[1]<R.recty);
} }
@@ -196,8 +196,8 @@ static int renderwin_win_to_ndc(RenderWin *rw, int win_co[2], float ndc_r[2])
window_get_size(rw->win, &w, &h); window_get_size(rw->win, &w, &h);
ndc_r[0]= (float) (win_co[0]*2)/(w-1) - 1.0; ndc_r[0]= (float) ((win_co[0]*2)/(w-1) - 1.0);
ndc_r[1]= (float) (win_co[1]*2)/(h-1) - 1.0; ndc_r[1]= (float) ((win_co[1]*2)/(h-1) - 1.0);
return (fabs(ndc_r[0])<=1.0 && fabs(ndc_r[1])<=1.0); return (fabs(ndc_r[0])<=1.0 && fabs(ndc_r[1])<=1.0);
} }

View File

@@ -153,7 +153,7 @@ void free_soundspace(SpaceSound *ssound);
/* ************* SPACE: VIEW3D ************* */ /* ************* SPACE: VIEW3D ************* */
/* extern void drawview3dspace(); BSE_drawview.h */ /* extern void drawview3dspace(ScrArea *sa, void *spacedata); BSE_drawview.h */
void copy_view3d_lock(short val) void copy_view3d_lock(short val)
@@ -384,11 +384,9 @@ void start_game(void)
#endif #endif
} }
void changeview3d() static void changeview3dspace(ScrArea *sa, void *spacedata)
{ {
setwinmatrixview3d(0); /* 0= geen pick rect */ setwinmatrixview3d(0); /* 0= geen pick rect */
} }
/* Callable from editmode and faceselect mode from the /* Callable from editmode and faceselect mode from the
@@ -419,8 +417,11 @@ static void align_view_to_selected(View3D *v3d)
} }
} }
void winqreadview3dspace(unsigned short event, short val, char ascii) void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
{ {
unsigned short event= evt->event;
short val= evt->val;
char ascii= evt->ascii;
View3D *v3d= curarea->spacedata.first; View3D *v3d= curarea->spacedata.first;
Object *ob; Object *ob;
float *curs; float *curs;
@@ -676,16 +677,7 @@ void winqreadview3dspace(unsigned short event, short val, char ascii)
break; break;
case DKEY: case DKEY:
if(G.qual & LR_SHIFTKEY) { if(G.qual & LR_SHIFTKEY) {
if(G.obedit) { duplicate_context_selected();
if(G.obedit->type==OB_MESH) adduplicate_mesh();
else if(G.obedit->type==OB_ARMATURE) adduplicate_armature();
else if(G.obedit->type==OB_MBALL) adduplicate_mball();
else if ELEM(G.obedit->type, OB_CURVE, OB_SURF) adduplicate_nurb();
}
else if(G.obpose){
error ("Duplicate not possible in posemode.");
}
else adduplicate(0);
} }
else if(G.qual & LR_ALTKEY) { else if(G.qual & LR_ALTKEY) {
if(G.obpose) error ("Duplicate not possible in posemode."); if(G.obpose) error ("Duplicate not possible in posemode.");
@@ -958,13 +950,7 @@ void winqreadview3dspace(unsigned short event, short val, char ascii)
break; break;
case XKEY: case XKEY:
case DELKEY: case DELKEY:
if(G.obedit) { delete_context_selected();
if(G.obedit->type==OB_MESH) delete_mesh();
else if ELEM(G.obedit->type, OB_CURVE, OB_SURF) delNurb();
else if(G.obedit->type==OB_MBALL) delete_mball();
else if (G.obedit->type==OB_ARMATURE) delete_armature();
}
else delete_obj(0);
break; break;
case YKEY: case YKEY:
if(G.obedit) { if(G.obedit) {
@@ -972,23 +958,7 @@ void winqreadview3dspace(unsigned short event, short val, char ascii)
} }
break; break;
case ZKEY: case ZKEY:
if(G.qual & LR_CTRLKEY) { toggle_shading();
reshadeall_displist();
G.vd->drawtype= OB_SHADED;
}
else if(G.qual & LR_SHIFTKEY) {
if(G.vd->drawtype== OB_SHADED) G.vd->drawtype= OB_WIRE;
else G.vd->drawtype= OB_SHADED;
}
else if(G.qual & LR_ALTKEY) {
if(G.vd->drawtype== OB_TEXTURE) G.vd->drawtype= OB_SOLID;
else G.vd->drawtype= OB_TEXTURE;
}
else {
if(G.vd->drawtype==OB_SOLID || G.vd->drawtype==OB_SHADED) G.vd->drawtype= OB_WIRE;
else G.vd->drawtype= OB_SOLID;
}
scrarea_queue_headredraw(curarea); scrarea_queue_headredraw(curarea);
scrarea_queue_winredraw(curarea); scrarea_queue_winredraw(curarea);
@@ -1094,7 +1064,7 @@ void initview3d(ScrArea *sa)
/* ******************** SPACE: IPO ********************** */ /* ******************** SPACE: IPO ********************** */
void changeview2d() static void changeview2dspace(ScrArea *sa, void *spacedata)
{ {
if(G.v2d==0) return; if(G.v2d==0) return;
@@ -1102,8 +1072,11 @@ void changeview2d()
myortho2(G.v2d->cur.xmin, G.v2d->cur.xmax, G.v2d->cur.ymin, G.v2d->cur.ymax); myortho2(G.v2d->cur.xmin, G.v2d->cur.xmax, G.v2d->cur.ymin, G.v2d->cur.ymax);
} }
void winqreadipospace(unsigned short event, short val, char ascii) void winqreadipospace(ScrArea *sa, void *spacedata, BWinEvent *evt)
{ {
unsigned short event= evt->event;
short val= evt->val;
char ascii= evt->ascii;
SpaceIpo *sipo= curarea->spacedata.first; SpaceIpo *sipo= curarea->spacedata.first;
View2D *v2d= &sipo->v2d; View2D *v2d= &sipo->v2d;
float dx, dy; float dx, dy;
@@ -1163,30 +1136,11 @@ void winqreadipospace(unsigned short event, short val, char ascii)
allqueue(REDRAWNLA, 0); allqueue(REDRAWNLA, 0);
break; break;
case PADPLUSKEY: case PADPLUSKEY:
view2d_zoom(v2d, 0.1154, curarea->winx, curarea->winy);
dx= 0.1154*(v2d->cur.xmax-v2d->cur.xmin);
dy= 0.1154*(v2d->cur.ymax-v2d->cur.ymin);
if(val==SPACE_BUTS) {
dx/=2.0; dy/= 2.0;
}
v2d->cur.xmin+= dx;
v2d->cur.xmax-= dx;
v2d->cur.ymin+= dy;
v2d->cur.ymax-= dy;
test_view2d(G.v2d, curarea->winx, curarea->winy);
doredraw= 1; doredraw= 1;
break; break;
case PADMINUS: case PADMINUS:
dx= 0.15*(v2d->cur.xmax-v2d->cur.xmin); view2d_zoom(v2d, -0.15, curarea->winx, curarea->winy);
dy= 0.15*(v2d->cur.ymax-v2d->cur.ymin);
if(val==SPACE_BUTS) {
dx/=2.0; dy/= 2.0;
}
v2d->cur.xmin-= dx;
v2d->cur.xmax+= dx;
v2d->cur.ymin-= dy;
v2d->cur.ymax+= dy;
test_view2d(G.v2d, curarea->winx, curarea->winy);
doredraw= 1; doredraw= 1;
break; break;
case PAGEUPKEY: case PAGEUPKEY:
@@ -1230,14 +1184,7 @@ void winqreadipospace(unsigned short event, short val, char ascii)
join_ipo(); join_ipo();
break; break;
case KKEY: case KKEY:
if(G.sipo->showkey) { ipo_toggle_showkey();
G.sipo->showkey= 0;
swap_selectall_editipo(); /* sel all */
}
else G.sipo->showkey= 1;
free_ipokey(&G.sipo->ipokey);
if(G.sipo->ipo) G.sipo->ipo->showkey= G.sipo->showkey;
scrarea_queue_headredraw(curarea); scrarea_queue_headredraw(curarea);
allqueue(REDRAWVIEW3D, 0); allqueue(REDRAWVIEW3D, 0);
doredraw= 1; doredraw= 1;
@@ -1314,7 +1261,7 @@ void space_sound_button_function(int event)
} }
} }
void drawinfospace(void) void drawinfospace(ScrArea *sa, void *spacedata)
{ {
uiBlock *block; uiBlock *block;
float fac; float fac;
@@ -1448,8 +1395,11 @@ void drawinfospace(void)
uiDrawBlock(block); uiDrawBlock(block);
} }
void winqreadinfospace(unsigned short event, short val, char ascii) void winqreadinfospace(ScrArea *sa, void *spacedata, BWinEvent *evt)
{ {
unsigned short event= evt->event;
short val= evt->val;
char ascii= evt->ascii;
if(val) { if(val) {
if( uiDoBlocks(&curarea->uiblocks, event)!=UI_NOTHING ) event= 0; if( uiDoBlocks(&curarea->uiblocks, event)!=UI_NOTHING ) event= 0;
@@ -1472,9 +1422,9 @@ void init_infospace(ScrArea *sa)
/* ******************** SPACE: BUTS ********************** */ /* ******************** SPACE: BUTS ********************** */
extern void drawbutspace(void); /* buttons.c */ extern void drawbutspace(ScrArea *sa, void *spacedata); /* buttons.c */
void changebutspace(void) static void changebutspace(ScrArea *sa, void *spacedata)
{ {
if(G.v2d==0) return; if(G.v2d==0) return;
@@ -1482,10 +1432,13 @@ void changebutspace(void)
myortho2(G.v2d->cur.xmin, G.v2d->cur.xmax, G.v2d->cur.ymin, G.v2d->cur.ymax); myortho2(G.v2d->cur.xmin, G.v2d->cur.xmax, G.v2d->cur.ymin, G.v2d->cur.ymax);
} }
void winqreadbutspace(unsigned short event, short val, char ascii) void winqreadbutspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
{ {
unsigned short event= evt->event;
short val= evt->val;
char ascii= evt->ascii;
SpaceButs *sbuts= curarea->spacedata.first; SpaceButs *sbuts= curarea->spacedata.first;
ScrArea *sa, *sa3d; ScrArea *sa2, *sa3d;
int doredraw= 0; int doredraw= 0;
if(val) { if(val) {
@@ -1504,9 +1457,12 @@ void winqreadbutspace(unsigned short event, short val, char ascii)
break; break;
case PADPLUSKEY: case PADPLUSKEY:
view2d_zoom(&sbuts->v2d, 0.06, curarea->winx, curarea->winy);
scrarea_queue_winredraw(curarea);
break;
case PADMINUS: case PADMINUS:
val= SPACE_BUTS; view2d_zoom(&sbuts->v2d, -0.075, curarea->winx, curarea->winy);
winqreadipospace(event, val, 0); // XXX - kill me scrarea_queue_winredraw(curarea);
break; break;
case RENDERPREVIEW: case RENDERPREVIEW:
BIF_previewrender(sbuts); BIF_previewrender(sbuts);
@@ -1522,20 +1478,20 @@ void winqreadbutspace(unsigned short event, short val, char ascii)
case PAD5: case PAD7: case PAD9: case PAD5: case PAD7: case PAD9:
case PADENTER: case ZKEY: case PKEY: case PADENTER: case ZKEY: case PKEY:
sa3d= 0; sa3d= 0;
sa= G.curscreen->areabase.first; sa2= G.curscreen->areabase.first;
while(sa) { while(sa2) {
if(sa->spacetype==SPACE_VIEW3D) { if(sa2->spacetype==SPACE_VIEW3D) {
if(sa3d) return; if(sa3d) return;
sa3d= sa; sa3d= sa2;
} }
sa= sa->next; sa2= sa2->next;
} }
if(sa3d) { if(sa3d) {
sa= curarea; sa= curarea;
areawinset(sa3d->win); areawinset(sa3d->win);
if(event==PKEY) start_game(); if(event==PKEY) start_game();
else if(event==ZKEY) winqreadview3dspace(event, val, 0); // XXX - kill me else if(event==ZKEY) toggle_shading();
else persptoetsen(event); else persptoetsen(event);
scrarea_queue_winredraw(sa3d); scrarea_queue_winredraw(sa3d);
@@ -1633,10 +1589,13 @@ void extern_set_butspace(int fkey)
/* ******************** SPACE: SEQUENCE ********************** */ /* ******************** SPACE: SEQUENCE ********************** */
/* extern void drawseqspace(); BIF_drawseq.h */ /* extern void drawseqspace(ScrArea *sa, void *spacedata); BIF_drawseq.h */
void winqreadseqspace(unsigned short event, short val, char ascii) void winqreadseqspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
{ {
unsigned short event= evt->event;
short val= evt->val;
char ascii= evt->ascii;
SpaceSeq *sseq= curarea->spacedata.first; SpaceSeq *sseq= curarea->spacedata.first;
View2D *v2d= &sseq->v2d; View2D *v2d= &sseq->v2d;
extern Sequence *last_seq; extern Sequence *last_seq;
@@ -1832,8 +1791,8 @@ void init_seqspace(ScrArea *sa)
} }
/* ******************** SPACE: ACTION ********************** */ /* ******************** SPACE: ACTION ********************** */
extern void drawactionspace(void); extern void drawactionspace(ScrArea *sa, void *spacedata);
extern void winqreadactionspace(unsigned short, short, char ascii); extern void winqreadactionspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
void init_actionspace(ScrArea *sa) void init_actionspace(ScrArea *sa)
{ {
@@ -1954,8 +1913,8 @@ void init_imaselspace(ScrArea *sa)
/* ******************** SPACE: SOUND ********************** */ /* ******************** SPACE: SOUND ********************** */
extern void drawsoundspace(void); extern void drawsoundspace(ScrArea *sa, void *spacedata);
extern void winqreadsoundspace(unsigned short, short, char ascii); extern void winqreadsoundspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
void init_soundspace(ScrArea *sa) void init_soundspace(ScrArea *sa)
{ {
@@ -2003,10 +1962,13 @@ void free_soundspace(SpaceSound *ssound)
/* ******************** SPACE: IMAGE ********************** */ /* ******************** SPACE: IMAGE ********************** */
/* extern void drawimagespace(); BIF_drawimage.h */ /* extern void drawimagespace(ScrArea *sa, void *spacedata); BIF_drawimage.h */
void winqreadimagespace(unsigned short event, short val, char ascii) void winqreadimagespace(ScrArea *sa, void *spacedata, BWinEvent *evt)
{ {
unsigned short event= evt->event;
short val= evt->val;
char ascii= evt->ascii;
SpaceImage *sima= curarea->spacedata.first; SpaceImage *sima= curarea->spacedata.first;
View2D *v2d= &sima->v2d; View2D *v2d= &sima->v2d;
#ifdef NAN_TPT #ifdef NAN_TPT
@@ -2145,8 +2107,8 @@ void init_imagespace(ScrArea *sa)
/* ******************** SPACE: IMASEL ********************** */ /* ******************** SPACE: IMASEL ********************** */
extern void drawimaselspace(void); extern void drawimaselspace(ScrArea *sa, void *spacedata);
extern void winqreadimaselspace(unsigned short, short, char ascii); extern void winqreadimaselspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
/* alles naar imasel.c */ /* alles naar imasel.c */
@@ -2154,10 +2116,13 @@ extern void winqreadimaselspace(unsigned short, short, char ascii);
/* ******************** SPACE: OOPS ********************** */ /* ******************** SPACE: OOPS ********************** */
extern void drawoopsspace(void); extern void drawoopsspace(ScrArea *sa, void *spacedata);
void winqreadoopsspace(unsigned short event, short val, char ascii) void winqreadoopsspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
{ {
unsigned short event= evt->event;
short val= evt->val;
char ascii= evt->ascii;
SpaceOops *soops= curarea->spacedata.first; SpaceOops *soops= curarea->spacedata.first;
View2D *v2d= &soops->v2d; View2D *v2d= &soops->v2d;
float dx, dy; float dx, dy;
@@ -2301,8 +2266,8 @@ void init_oopsspace(ScrArea *sa)
/* ******************** SPACE: Text ********************** */ /* ******************** SPACE: Text ********************** */
extern void drawtextspace(void); extern void drawtextspace(ScrArea *sa, void *spacedata);
extern void winqreadtextspace(unsigned short, short, char ascii); extern void winqreadtextspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
/* ******************** SPACE: ALGEMEEN ********************** */ /* ******************** SPACE: ALGEMEEN ********************** */
@@ -2918,7 +2883,7 @@ SpaceType *spaceaction_get_type(void)
if (!st) { if (!st) {
st= spacetype_new("Action"); st= spacetype_new("Action");
spacetype_set_winfuncs(st, drawactionspace, changeview2d, winqreadactionspace); spacetype_set_winfuncs(st, drawactionspace, changeview2dspace, winqreadactionspace);
} }
return st; return st;
@@ -2984,7 +2949,7 @@ SpaceType *spaceipo_get_type(void)
if (!st) { if (!st) {
st= spacetype_new("Ipo"); st= spacetype_new("Ipo");
spacetype_set_winfuncs(st, drawipospace, changeview2d, winqreadipospace); spacetype_set_winfuncs(st, drawipospace, changeview2dspace, winqreadipospace);
} }
return st; return st;
@@ -2995,7 +2960,7 @@ SpaceType *spacenla_get_type(void)
if (!st) { if (!st) {
st= spacetype_new("Nla"); st= spacetype_new("Nla");
spacetype_set_winfuncs(st, drawnlaspace, changeview2d, winqreadnlaspace); spacetype_set_winfuncs(st, drawnlaspace, changeview2dspace, winqreadnlaspace);
} }
return st; return st;
@@ -3006,7 +2971,7 @@ SpaceType *spaceoops_get_type(void)
if (!st) { if (!st) {
st= spacetype_new("Oops"); st= spacetype_new("Oops");
spacetype_set_winfuncs(st, drawoopsspace, changeview2d, winqreadoopsspace); spacetype_set_winfuncs(st, drawoopsspace, changeview2dspace, winqreadoopsspace);
} }
return st; return st;
@@ -3017,7 +2982,7 @@ SpaceType *spaceseq_get_type(void)
if (!st) { if (!st) {
st= spacetype_new("Sequence"); st= spacetype_new("Sequence");
spacetype_set_winfuncs(st, drawseqspace, changeview2d, winqreadseqspace); spacetype_set_winfuncs(st, drawseqspace, changeview2dspace, winqreadseqspace);
} }
return st; return st;
@@ -3050,7 +3015,7 @@ SpaceType *spaceview3d_get_type(void)
if (!st) { if (!st) {
st= spacetype_new("View3D"); st= spacetype_new("View3D");
spacetype_set_winfuncs(st, drawview3dspace, changeview3d, winqreadview3dspace); spacetype_set_winfuncs(st, drawview3dspace, changeview3dspace, winqreadview3dspace);
} }
return st; return st;

View File

@@ -105,7 +105,7 @@ void scrarea_do_windraw(ScrArea *area)
areawinset(area->win); areawinset(area->win);
if(area->win && st->windraw) { if(area->win && st->windraw) {
st->windraw(); st->windraw(area, area->spacedata.first);
} }
else { else {
glClearColor(0.4375, 0.4375, 0.4375, 0.0); glClearColor(0.4375, 0.4375, 0.4375, 0.0);
@@ -121,7 +121,7 @@ void scrarea_do_winchange(ScrArea *area)
areawinset(area->win); areawinset(area->win);
if (st->winchange) { if (st->winchange) {
st->winchange(); st->winchange(area, area->spacedata.first);
} else { } else {
if (!BLI_rcti_is_empty(&area->winrct)) { if (!BLI_rcti_is_empty(&area->winrct)) {
bwin_ortho2(area->win, -0.5, area->winrct.xmax-area->winrct.xmin-0.5, -0.5, area->winrct.ymax-area->winrct.ymin-0.5); bwin_ortho2(area->win, -0.5, area->winrct.xmax-area->winrct.xmin-0.5, -0.5, area->winrct.ymax-area->winrct.ymin-0.5);
@@ -136,6 +136,6 @@ void scrarea_do_winhandle(ScrArea *area, BWinEvent *evt)
areawinset(area->win); areawinset(area->win);
if (st->winhandle) { if (st->winhandle) {
st->winhandle(evt->event, evt->val, evt->ascii); st->winhandle(area, area->spacedata.first, evt);
} }
} }

View File

@@ -45,6 +45,7 @@
#ifdef WIN32 #ifdef WIN32
#include "BLI_winstuff.h" #include "BLI_winstuff.h"
#include <process.h> /* getpid */
#else #else
#include <unistd.h> /* getpid */ #include <unistd.h> /* getpid */
#endif #endif

View File

@@ -763,7 +763,6 @@ void append_avi_codec(int frame)
int get_codec_settings(void) int get_codec_settings(void)
{ {
char name[2048];
int ret_val = 0; int ret_val = 0;
AVICOMPRESSOPTIONS *aopts[1] = {&opts}; AVICOMPRESSOPTIONS *aopts[1] = {&opts};
AviCodecData *acd = G.scene->r.avicodecdata; AviCodecData *acd = G.scene->r.avicodecdata;