mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 10:54:24 -04:00
59 lines
1.8 KiB
C++
59 lines
1.8 KiB
C++
// Filename: ppBrowserObject.h
|
|
// Created by: drose (05Jul09)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PANDA 3D SOFTWARE
|
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
|
//
|
|
// All use of this software is subject to the terms of the revised BSD
|
|
// license. You should have received a copy of this license along
|
|
// with this source code in a file named "LICENSE."
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef PPBROWSEROBJECT_H
|
|
#define PPBROWSEROBJECT_H
|
|
|
|
#include "nppanda3d_common.h"
|
|
|
|
class PPInstance;
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : PPBrowserObject
|
|
// Description : This is the interface layer between an NPObject and a
|
|
// P3D_object. It maps calls from P3D_object into the
|
|
// NPObject system, thus allowing Panda to view and
|
|
// operate on a browser object.
|
|
//
|
|
// Also see PPPandaObject, which maps calls the other
|
|
// way.
|
|
////////////////////////////////////////////////////////////////////
|
|
class PPBrowserObject : public P3D_object {
|
|
public:
|
|
PPBrowserObject(PPInstance *inst, NPObject *npobj);
|
|
PPBrowserObject(const PPBrowserObject ©);
|
|
~PPBrowserObject();
|
|
|
|
int get_repr(char *buffer, int buffer_length) const;
|
|
P3D_object *get_property(const string &property) const;
|
|
bool set_property(const string &property, P3D_object *value);
|
|
|
|
P3D_object *call(const string &method_name,
|
|
P3D_object *params[], int num_params) const;
|
|
P3D_object *eval(const string &expression) const;
|
|
|
|
private:
|
|
static P3D_class_definition *get_class_definition();
|
|
|
|
private:
|
|
PPInstance *_instance;
|
|
NPObject *_npobj;
|
|
static P3D_class_definition *_browser_object_class;
|
|
};
|
|
|
|
#include "ppBrowserObject.I"
|
|
|
|
#endif
|
|
|