Revert r3463, because it broke Linux.

Review URL: https://codereview.appspot.com/5876056

git-svn-id: http://skia.googlecode.com/svn/trunk@3465 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
epoger@google.com 2012-03-22 15:15:07 +00:00
Родитель 24878f71d2
Коммит 5aab34030f
3 изменённых файлов: 144 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,34 @@
/*
* Copyright 2011 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "SampleCode.h"
#include "SkCanvas.h"
#include "SkColor.h"
#include "SkEvent.h"
#include "SkView.h"
class DrawBlue : public SkView {
public:
DrawBlue() {}
protected:
virtual void onDraw(SkCanvas* canvas) {
canvas->drawColor(SK_ColorBLUE);
}
virtual bool onQuery(SkEvent* evt) {
if (SampleCode::TitleQ(*evt)) {
SampleCode::TitleR(evt, "DrawBlue");
return true;
}
return this->INHERITED::onQuery(evt);
}
private:
typedef SkView INHERITED;
};
static SkView* MyFactory() { return new DrawBlue; }
static SkViewRegister reg(MyFactory);

62
unix_test_app/main.cpp Normal file
Просмотреть файл

@ -0,0 +1,62 @@
/*
* Copyright 2011 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "X11/Xlib.h"
#include "X11/keysym.h"
#include "SkApplication.h"
#include "SkEvent.h"
#include "SkWindow.h"
#include "SkTypes.h"
#include <signal.h>
#include <sys/time.h>
SkOSWindow* gWindow;
static void catch_alarm(int sig)
{
SkEvent::ServiceQueueTimer();
}
int main(int argc, char** argv){
signal(SIGALRM, catch_alarm);
gWindow = create_sk_window(NULL, argc, argv);
// drain any events that occurred before gWindow was assigned.
while (SkEvent::ProcessEvent());
// Start normal Skia sequence
application_init();
gWindow->loop();
delete gWindow;
application_term();
return 0;
}
// SkEvent handlers
void SkEvent::SignalNonEmptyQueue()
{
if (gWindow) {
gWindow->post_linuxevent();
}
}
void SkEvent::SignalQueueTimer(SkMSec delay)
{
itimerval newTimer;
newTimer.it_interval.tv_sec = 0;
newTimer.it_interval.tv_usec = 0;
newTimer.it_value.tv_sec = 0;
newTimer.it_value.tv_usec = delay * 1000;
setitimer(ITIMER_REAL, &newTimer, NULL);
}

48
unix_test_app/makefile Normal file
Просмотреть файл

@ -0,0 +1,48 @@
# Build the unix test app
C_INCLUDES := -I../include/core \
-I../include/config \
-I../include/effects \
-I../include/images \
-I../include/utils \
-I../include/views \
-I../include/xml \
-I../include/gpu \
-I../gpu/include \
-I../include/utils/unix \
-I../samplecode \
-I../src/core
VPATH = libs:../src/ports:../samplecode:../src/core:../src/utils/unix
#generate debugging info
CFLAGS = -g
SRC_LIST := main.cpp SkOSWindow_Unix.cpp SkXMLParser_empty.cpp SkDebug.cpp ../gpu/src/unix/GrGLDefaultInterface_unix.cpp
#views files
include ../src/views/views_files.mk
SRC_LIST += $(addprefix ../src/views/, $(SOURCE))
#xml
include ../src/xml/xml_files.mk
SRC_LIST += $(addprefix ../src/xml/, $(SOURCE))
#include the samples
include ../samplecode/samplecode_files.mk
SRC_LIST += $(addprefix ../samplecode/, $(SOURCE))
out/output: $(SRC_LIST) out/keysym2ucs.o ../out/libskia.a -lX11 -lpthread -lz -lfreetype -lGL -lpng
g++ $(C_INCLUDES) $(CFLAGS) $^ -o $@
out/keysym2ucs.o: ../src/utils/unix/keysym2ucs.c
@mkdir -p $(dir $@)
@gcc -c $(C_INCLUDES) $(CFLAGS) $^ -o $@
../out/libskia.a:
@$(MAKE) -C ../ SKIA_SAMPLES_FOR_X=true
clean:
rm -rf ../out # Copied from ../Makefile
rm -rf out