Skip to content

Commit

Permalink
Merge branch 'tests3' of https://github.com/janimo/lightspark into ja…
Browse files Browse the repository at this point in the history
…nimo-tests3

Conflicts:
	scripting/abc.cpp
	scripting/flashtext.cpp
	scripting/flashtext.h
  • Loading branch information
alexp-sssup committed Apr 22, 2011
2 parents 4f412b7 + 8c2e0f4 commit 59db7e5
Show file tree
Hide file tree
Showing 7 changed files with 55 additions and 4 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Expand Up @@ -116,7 +116,7 @@ ENDIF(UNIX)
SET(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "Install prefix, default is /usr/local (UNIX) and C:\\Program Files (Windows)")
SET(COMPILE_LIGHTSPARK TRUE CACHE BOOL "Compile Lightspark?")
SET(COMPILE_TIGHTSPARK TRUE CACHE BOOL "Compile Tightspark?")
SET(COMPILE_PLUGIN FALSE CACHE BOOL "Compile the browser plugin?")
SET(COMPILE_PLUGIN TRUE CACHE BOOL "Compile the browser plugin?")
SET(ENABLE_CURL TRUE CACHE BOOL "Enable CURL? (Required for Downloader functionality)")
SET(ENABLE_LIBAVCODEC TRUE CACHE BOOL "Enable libavcodec and dependent functionality?")
SET(ENABLE_RTMP FALSE CACHE BOOL "Enable librtmp and dependent functionality?")
Expand Down
4 changes: 3 additions & 1 deletion scripting/abc.cpp
Expand Up @@ -236,8 +236,10 @@ void ABCVm::registerClasses()
builtin->setVariableByQName("Font","flash.text",Class<Font>::getClass());
builtin->setVariableByQName("StyleSheet","flash.text",Class<StyleSheet>::getClass());
builtin->setVariableByQName("TextField","flash.text",Class<TextField>::getClass());
builtin->setVariableByQName("TextFieldType","flash.text",Class<ASObject>::getClass(QName("TextFieldType","flash.text")));
builtin->setVariableByQName("TextFieldType","flash.text",Class<TextFieldType>::getClass());
builtin->setVariableByQName("TextFieldAutoSize","flash.text",Class<TextFieldAutoSize>::getClass());
builtin->setVariableByQName("TextFormat","flash.text",Class<TextFormat>::getClass());
builtin->setVariableByQName("TextFormatAlign","flash.text",Class<TextFormatAlign>::getClass());

builtin->setVariableByQName("XMLDocument","flash.xml",Class<XMLDocument>::getClass());
builtin->setVariableByQName("XMLNode","flash.xml",Class<XMLNode>::getClass());
Expand Down
25 changes: 25 additions & 0 deletions scripting/flashtext.cpp
Expand Up @@ -28,6 +28,9 @@ SET_NAMESPACE("flash.text");

REGISTER_CLASS_NAME2(lightspark::Font,"Font","flash.text");
REGISTER_CLASS_NAME(TextField);
REGISTER_CLASS_NAME(TextFieldType);
REGISTER_CLASS_NAME(TextFieldAutoSize);
REGISTER_CLASS_NAME(TextFormatAlign);
REGISTER_CLASS_NAME(TextFormat);
REGISTER_CLASS_NAME(StyleSheet);

Expand Down Expand Up @@ -126,6 +129,28 @@ void TextField::Render(bool maskEnabled)
LOG(LOG_NOT_IMPLEMENTED,_("TextField::Render ") << text);
}

void TextFieldAutoSize ::sinit(Class_base* c)
{
c->setVariableByQName("CENTER","",Class<ASString>::getInstanceS("center"));
c->setVariableByQName("LEFT","",Class<ASString>::getInstanceS("left"));
c->setVariableByQName("NONE","",Class<ASString>::getInstanceS("none"));
c->setVariableByQName("RIGHT","",Class<ASString>::getInstanceS("right"));
}

void TextFieldType ::sinit(Class_base* c)
{
c->setVariableByQName("DYNAMIC","",Class<ASString>::getInstanceS("dynamic"));
c->setVariableByQName("INPUT","",Class<ASString>::getInstanceS("input"));
}

void TextFormatAlign ::sinit(Class_base* c)
{
c->setVariableByQName("CENTER","",Class<ASString>::getInstanceS("center"));
c->setVariableByQName("JUSTIFY","",Class<ASString>::getInstanceS("justify"));
c->setVariableByQName("LEFT","",Class<ASString>::getInstanceS("left"));
c->setVariableByQName("RIGHT","",Class<ASString>::getInstanceS("right"));
}

void TextFormat::sinit(Class_base* c)
{
c->setConstructor(NULL);
Expand Down
18 changes: 18 additions & 0 deletions scripting/flashtext.h
Expand Up @@ -63,6 +63,24 @@ class TextFormat: public ASObject
static void buildTraits(ASObject* o);
};

class TextFieldType: public ASObject
{
public:
static void sinit(Class_base* c);
};

class TextFormatAlign: public ASObject
{
public:
static void sinit(Class_base* c);
};

class TextFieldAutoSize: public ASObject
{
public:
static void sinit(Class_base* c);
};

class StyleSheet: public EventDispatcher
{
private:
Expand Down
4 changes: 4 additions & 0 deletions scripting/flashutils.cpp
Expand Up @@ -692,6 +692,10 @@ void Proxy::sinit(Class_base* c)
c->setConstructor(NULL);
}

void Proxy::buildTraits(ASObject* o)
{
}

void Proxy::setVariableByMultiname(const multiname& name, ASObject* o, ASObject* base)
{
//If a variable named like this already exist, return that
Expand Down
2 changes: 1 addition & 1 deletion scripting/flashutils.h
Expand Up @@ -130,7 +130,7 @@ class Proxy: public ASObject
friend class ABCVm;
public:
static void sinit(Class_base*);
// static void buildTraits(ASObject* o);
static void buildTraits(ASObject* o);
// ASFUNCTION(_constructor);
ASObject* getVariableByMultiname(const multiname& name, bool skip_impl=false, ASObject* base=NULL);
intptr_t getVariableByMultiname_i(const multiname& name)
Expand Down
4 changes: 3 additions & 1 deletion timer.cpp
Expand Up @@ -147,7 +147,9 @@ void* TimerThread::timer_worker(TimerThread* th)
//Wait for the absolute time, or a newEvent signal
timespec tmpt=msecsToTimespec(timing);
sem_post(&th->mutex);
int ret=sem_timedwait(&th->newEvent, &tmpt);
int ret;
while ((ret=sem_timedwait(&th->newEvent, &tmpt)) == -1 && errno==EINTR)
continue;
if(th->stopped)
pthread_exit(0);

Expand Down

0 comments on commit 59db7e5

Please sign in to comment.