view examples/code/myprop.c @ 20454:0bb456e9423b stable

Allow interactive annotations in other figures than the currentfigure. * Canvas.cc (Canvas::canvasMouseReleaseEvent): prepend the figure handle argument when calling annotation function.
author Pantxo Diribarne <pantxo.diribarne@gmail.com>
date Tue, 02 Jun 2015 19:24:44 +0200
parents c8240a60dd01
children 5c42ff6f0eb1
line wrap: on
line source

#include "mex.h"

void
mexFunction (int nlhs, mxArray* plhs[],
             int nrhs, const mxArray* prhs[])
{
  double handle;
  char property[256];

  if (nrhs < 2 || nrhs > 3)
    mexErrMsgTxt ("incorrect number of arguments");
  if (!mxIsDouble (prhs[0]))
    mexErrMsgTxt ("handle expected to be a double scalar");
  if (!mxIsChar (prhs[1]))
    mexErrMsgTxt ("expected property to be a string");

  handle = mxGetScalar (prhs[0]);
  mxGetString (prhs[1], property, 256);
  plhs[0] = mxDuplicateArray (mexGet (handle, property));

  if (nrhs == 3)
    if (mexSet (handle, property, mxDuplicateArray (prhs[2])))
      mexErrMsgTxt ("failed to set property");
}