static void hugsprim_glGetMapfv_4(HugsStackPtr hugs_root) { HsWord32 arg1; HsWord32 arg2; HsPtr arg3; arg1 = hugs->getWord32(); arg2 = hugs->getWord32(); arg3 = hugs->getPtr(); glGetMapfv(arg1, arg2, arg3); hugs->returnIO(hugs_root,0); }
int __glXDisp_GetMapfv(__GLXclientState *cl, GLbyte *pc) { GLenum target; GLenum query; GLint compsize; __GLXcontext *cx; ClientPtr client = cl->client; int error; GLfloat answerBuffer[200]; char *answer; cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error); if (!cx) { return error; } pc += __GLX_SINGLE_HDR_SIZE; target = *(GLenum *)(pc + 0); query = *(GLenum *)(pc + 4); compsize = __glGetMapfv_size(target,query); if (compsize < 0) compsize = 0; __GLX_GET_ANSWER_BUFFER(answer,cl,compsize*4,4); __glXClearErrorOccured(); glGetMapfv( *(GLenum *)(pc + 0), *(GLenum *)(pc + 4), (GLfloat *) answer ); if (__glXErrorOccured()) { __GLX_BEGIN_REPLY(0); __GLX_PUT_SIZE(0); __GLX_SEND_HEADER(); } else if (compsize == 1) { __GLX_BEGIN_REPLY(0); __GLX_PUT_SIZE(1); __GLX_PUT_FLOAT(); __GLX_SEND_HEADER(); } else { __GLX_BEGIN_REPLY(compsize*4); __GLX_PUT_SIZE(compsize); __GLX_SEND_HEADER(); __GLX_SEND_FLOAT_ARRAY(compsize); } return Success; }
///////////////////////////////////////////////////////// // Render // void GEMglGetMapfv :: render(GemState *state) { glGetMapfv (target, query, v); post("not really implemented:: got data @ %X, what should i do with it", v); }
M(void, glGetMapfv, jint target, jint query, jobject v) { glGetMapfv(target, query, BUFF(GLfloat, v)); }