static void hugsprim_glGetMapdv_5(HugsStackPtr hugs_root) { HsWord32 arg1; HsWord32 arg2; HsPtr arg3; arg1 = hugs->getWord32(); arg2 = hugs->getWord32(); arg3 = hugs->getPtr(); glGetMapdv(arg1, arg2, arg3); hugs->returnIO(hugs_root,0); }
int __glXDisp_GetMapdv(__GLXclientState *cl, GLbyte *pc) { GLenum target; GLenum query; GLint compsize; __GLXcontext *cx; ClientPtr client = cl->client; int error; GLdouble 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 = __glGetMapdv_size(target,query); if (compsize < 0) compsize = 0; __GLX_GET_ANSWER_BUFFER(answer,cl,compsize*8,8); __glXClearErrorOccured(); glGetMapdv( *(GLenum *)(pc + 0), *(GLenum *)(pc + 4), (GLdouble *) 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_DOUBLE(); __GLX_SEND_HEADER(); } else { __GLX_BEGIN_REPLY(compsize*8); __GLX_PUT_SIZE(compsize); __GLX_SEND_HEADER(); __GLX_SEND_DOUBLE_ARRAY(compsize); } return Success; }
M(void, glGetMapdv, jint target, jint query, jobject v) { glGetMapdv(target, query, BUFF(GLdouble, v)); }